diff options
author | Thong Kuah <tkuah@gitlab.com> | 2018-11-07 14:06:33 +1300 |
---|---|---|
committer | Thong Kuah <tkuah@gitlab.com> | 2018-11-08 23:28:30 +1300 |
commit | b019224ff2bf6c8282a210eff1e98d0225e98a0c (patch) | |
tree | 61cb0f7bcce5fe41354abe68050133c61e3e5fdf /app/presenters | |
parent | 85066afb0ffc2ef973a459c23fbb7afa2f939390 (diff) | |
download | gitlab-ce-b019224ff2bf6c8282a210eff1e98d0225e98a0c.tar.gz |
Refactor to use presenter
Refacotr project or group specific `if` logic to be contained within
each presenter instead.
Also add :override to ensure super method exists.
Diffstat (limited to 'app/presenters')
-rw-r--r-- | app/presenters/clusterable_presenter.rb | 6 | ||||
-rw-r--r-- | app/presenters/group_clusterable_presenter.rb | 16 | ||||
-rw-r--r-- | app/presenters/project_clusterable_presenter.rb | 11 |
3 files changed, 28 insertions, 5 deletions
diff --git a/app/presenters/clusterable_presenter.rb b/app/presenters/clusterable_presenter.rb index 6de967a58e9..08ff49a8702 100644 --- a/app/presenters/clusterable_presenter.rb +++ b/app/presenters/clusterable_presenter.rb @@ -44,7 +44,11 @@ class ClusterablePresenter < Gitlab::View::Presenter::Delegated raise NotImplementedError end - def project? + def empty_state_help_text + nil + end + + def learn_more_link raise NotImplementedError end end diff --git a/app/presenters/group_clusterable_presenter.rb b/app/presenters/group_clusterable_presenter.rb index 6da4dbfeaa4..427f3ec047c 100644 --- a/app/presenters/group_clusterable_presenter.rb +++ b/app/presenters/group_clusterable_presenter.rb @@ -1,19 +1,31 @@ # frozen_string_literal: true class GroupClusterablePresenter < ClusterablePresenter + extend ::Gitlab::Utils::Override + include ActionView::Helpers::UrlHelper + + override :cluster_status_cluster_path def cluster_status_cluster_path(cluster, params = {}) cluster_status_group_cluster_path(clusterable, cluster, params) end + override :install_applications_cluster_path def install_applications_cluster_path(cluster, application) install_applications_group_cluster_path(clusterable, cluster, application) end + override :cluster_path def cluster_path(cluster, params = {}) group_cluster_path(clusterable, cluster, params) end - def project? - false + override :empty_state_help_text + def empty_state_help_text + s_('ClusterIntegration|Adding an integration to your group will share the cluster across all your projects.') + end + + override :learn_more_link + def learn_more_link + link_to(s_('ClusterIntegration|Learn more about group Kubernetes clusters'), help_page_path('user/project/clusters/index'), target: '_blank', rel: 'noopener noreferrer') end end diff --git a/app/presenters/project_clusterable_presenter.rb b/app/presenters/project_clusterable_presenter.rb index 2aea31e8bbf..ede8547d210 100644 --- a/app/presenters/project_clusterable_presenter.rb +++ b/app/presenters/project_clusterable_presenter.rb @@ -1,19 +1,26 @@ # frozen_string_literal: true class ProjectClusterablePresenter < ClusterablePresenter + extend ::Gitlab::Utils::Override + include ActionView::Helpers::UrlHelper + + override :cluster_status_cluster_path def cluster_status_cluster_path(cluster, params = {}) cluster_status_project_cluster_path(clusterable, cluster, params) end + override :install_applications_cluster_path def install_applications_cluster_path(cluster, application) install_applications_project_cluster_path(clusterable, cluster, application) end + override :cluster_path def cluster_path(cluster, params = {}) project_cluster_path(clusterable, cluster, params) end - def project? - true + override :learn_more_link + def learn_more_link + link_to(s_('ClusterIntegration|Learn more about Kubernetes'), help_page_path('user/project/clusters/index'), target: '_blank', rel: 'noopener noreferrer') end end |