Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/presenters/project_presenter.rb')
-rw-r--r--app/presenters/project_presenter.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/presenters/project_presenter.rb b/app/presenters/project_presenter.rb
index 856eba5aadc..4533ef3633d 100644
--- a/app/presenters/project_presenter.rb
+++ b/app/presenters/project_presenter.rb
@@ -28,6 +28,7 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
[
commits_anchor_data,
branches_anchor_data,
+ terraform_states_anchor_data,
tags_anchor_data,
storage_anchor_data,
releases_anchor_data,
@@ -236,6 +237,21 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
)
end
+ def terraform_states_anchor_data
+ if project.terraform_states.exists? && can_read_terraform_state?
+ AnchorData.new(
+ true,
+ statistic_icon('terraform') +
+ n_('%{strong_start}%{terraform_states_count}%{strong_end} Terraform State', '%{strong_start}%{terraform_states_count}%{strong_end} Terraform States', project.terraform_states.count).html_safe % {
+ terraform_states_count: number_with_delimiter(project.terraform_states.count),
+ strong_start: '<strong class="project-stat-value">'.html_safe,
+ strong_end: '</strong>'.html_safe
+ },
+ project_terraform_index_path(project)
+ )
+ end
+ end
+
def tags_anchor_data
AnchorData.new(
true,
@@ -488,6 +504,10 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
end
end
+ def can_read_terraform_state?
+ current_user && can?(current_user, :read_terraform_state, project)
+ end
+
# Avoid including ActionView::Helpers::UrlHelper
def content_tag(...)
ActionController::Base.helpers.content_tag(...)