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/helpers/projects_helper.rb')
-rw-r--r--app/helpers/projects_helper.rb61
1 files changed, 45 insertions, 16 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index c3f22dc7693..6112d05f37d 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -1,6 +1,8 @@
# frozen_string_literal: true
module ProjectsHelper
+ include Gitlab::Utils::StrongMemoize
+
def project_incident_management_setting
@project_incident_management_setting ||= @project.incident_management_setting ||
@project.build_incident_management_setting
@@ -331,22 +333,6 @@ module ProjectsHelper
false
end
- def share_project_description(project)
- share_with_group = project.allowed_to_share_with_group?
- share_with_members = !membership_locked?
-
- description =
- if share_with_group && share_with_members
- _("You can invite a new member to %{project_name} or invite another group.")
- elsif share_with_group
- _("You can invite another group to %{project_name}.")
- elsif share_with_members
- _("You can invite a new member to %{project_name}.")
- end
-
- html_escape(description) % { project_name: tag.strong(project.name) }
- end
-
def metrics_external_dashboard_url
@project.metrics_setting_external_dashboard_url
end
@@ -446,6 +432,30 @@ module ProjectsHelper
configure_oauth_import_message('GitLab.com', help_page_path("integration/gitlab"))
end
+ def show_inactive_project_deletion_banner?(project)
+ return false unless project.present? && project.saved?
+ return false unless delete_inactive_projects?
+ return false unless Feature.enabled?(:inactive_projects_deletion, project.root_namespace)
+
+ project.inactive?
+ end
+
+ def inactive_project_deletion_date(project)
+ Gitlab::InactiveProjectsDeletionWarningTracker.new(project.id).scheduled_deletion_date
+ end
+
+ def show_clusters_alert?(project)
+ Gitlab.com? && can_admin_associated_clusters?(project)
+ end
+
+ def clusters_deprecation_alert_message
+ if has_active_license?
+ s_('ClusterIntegration|The certificate-based Kubernetes integration has been deprecated and will be turned off at the end of November 2022. Please %{linkStart}migrate to the GitLab agent for Kubernetes%{linkEnd} or reach out to GitLab support.')
+ else
+ s_('ClusterIntegration|The certificate-based Kubernetes integration has been deprecated and will be turned off at the end of November 2022. Please %{linkStart}migrate to the GitLab agent for Kubernetes%{linkEnd}.')
+ end
+ end
+
private
def configure_oauth_import_message(provider, help_url)
@@ -596,6 +606,7 @@ module ProjectsHelper
feature = project.project_feature
{
packagesEnabled: !!project.packages_enabled,
+ packageRegistryAccessLevel: feature.package_registry_access_level,
visibilityLevel: project.visibility_level,
requestAccessEnabled: !!project.request_access_enabled,
issuesAccessLevel: feature.issues_access_level,
@@ -736,6 +747,24 @@ module ProjectsHelper
link_to(name, url)
end
end
+
+ def delete_inactive_projects?
+ strong_memoize(:delete_inactive_projects_setting) do
+ ::Gitlab::CurrentSettings.delete_inactive_projects?
+ end
+ end
+end
+
+def can_admin_associated_clusters?(project)
+ can_admin_project_clusters?(project) || can_admin_group_clusters?(project)
+end
+
+def can_admin_project_clusters?(project)
+ project.clusters.any? && can?(current_user, :admin_cluster, project)
+end
+
+def can_admin_group_clusters?(project)
+ project.group && project.group.clusters.any? && can?(current_user, :admin_cluster, project.group)
end
ProjectsHelper.prepend_mod_with('ProjectsHelper')