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:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-08-19 12:08:42 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-08-19 12:08:42 +0300
commitb76ae638462ab0f673e5915986070518dd3f9ad3 (patch)
treebdab0533383b52873be0ec0eb4d3c66598ff8b91 /app/helpers/groups_helper.rb
parent434373eabe7b4be9593d18a585fb763f1e5f1a6f (diff)
Add latest changes from gitlab-org/gitlab@14-2-stable-eev14.2.0-rc42
Diffstat (limited to 'app/helpers/groups_helper.rb')
-rw-r--r--app/helpers/groups_helper.rb106
1 files changed, 18 insertions, 88 deletions
diff --git a/app/helpers/groups_helper.rb b/app/helpers/groups_helper.rb
index 400ad721b06..0e4aeaae20d 100644
--- a/app/helpers/groups_helper.rb
+++ b/app/helpers/groups_helper.rb
@@ -1,52 +1,6 @@
# frozen_string_literal: true
module GroupsHelper
- def group_overview_nav_link_paths
- %w[
- groups#activity
- groups#subgroups
- labels#index
- group_members#index
- ]
- end
-
- def group_settings_nav_link_paths
- %w[
- groups#projects
- groups#edit
- badges#index
- repository#show
- ci_cd#show
- integrations#index
- integrations#edit
- ldap_group_links#index
- hooks#index
- pipeline_quota#index
- applications#index
- applications#show
- applications#edit
- packages_and_registries#show
- groups/runners#show
- groups/runners#edit
- ]
- end
-
- def group_packages_nav_link_paths
- %w[
- groups/packages#index
- groups/container_registries#index
- ]
- end
-
- def group_information_title(group)
- group.subgroup? ? _('Subgroup information') : _('Group information')
- end
-
- def group_container_registry_nav?
- Gitlab.config.registry.enabled &&
- can?(current_user, :read_container_image, @group)
- end
-
def group_sidebar_links
@group_sidebar_links ||= get_group_sidebar_links
end
@@ -75,6 +29,10 @@ module GroupsHelper
can?(current_user, :set_emails_disabled, group) && !group.parent&.emails_disabled?
end
+ def can_admin_group_member?(group)
+ Ability.allowed?(current_user, :admin_group_member, group)
+ end
+
def group_issues_count(state:)
IssuesFinder
.new(current_user, group_id: @group.id, state: state, non_archived: true, include_subgroups: true)
@@ -89,18 +47,13 @@ module GroupsHelper
.count
end
- def cached_issuables_count(group, type: nil)
- count_service = issuables_count_service_class(type)
- return unless count_service.present?
-
- issuables_count = count_service.new(group, current_user).count
- format_issuables_count(count_service, issuables_count)
- end
-
- def group_dependency_proxy_url(group)
+ def group_dependency_proxy_image_prefix(group)
# The namespace path can include uppercase letters, which
# Docker doesn't allow. The proxy expects it to be downcased.
- "#{group_url(group).downcase}#{DependencyProxy::URL_SUFFIX}"
+ url = "#{group_url(group).downcase}#{DependencyProxy::URL_SUFFIX}"
+
+ # Docker images do not include the protocol
+ url.partition('//').last
end
def group_icon_url(group, options = {})
@@ -164,7 +117,7 @@ module GroupsHelper
end
def remove_group_message(group)
- _("You are going to remove %{group_name}, this will also delete all of its subgroups and projects. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?") %
+ _("You are going to remove %{group_name}. This will also delete all of its subgroups and projects. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?") %
{ group_name: group.name }
end
@@ -200,19 +153,6 @@ module GroupsHelper
groups.to_json
end
- def group_packages_nav?
- group_packages_list_nav? ||
- group_container_registry_nav?
- end
-
- def group_dependency_proxy_nav?
- @group.dependency_proxy_feature_available?
- end
-
- def group_packages_list_nav?
- @group.packages_feature_enabled?
- end
-
def show_invite_banner?(group)
can?(current_user, :admin_group, group) &&
!just_created? &&
@@ -250,6 +190,12 @@ module GroupsHelper
can?(current_user, "read_group_#{resource}".to_sym, @group)
end
+ # TODO Proper policies, such as `read_group_runners, should be implemented per
+ # See https://gitlab.com/gitlab-org/gitlab/-/issues/334802
+ if can?(current_user, :admin_group, @group) && Feature.enabled?(:runner_list_group_view_vue_ui, @group, default_enabled: :yaml)
+ links << :runners
+ end
+
if can?(current_user, :read_cluster, @group)
links << :kubernetes
end
@@ -322,24 +268,8 @@ module GroupsHelper
s_("GroupSettings|This setting is applied on %{ancestor_group} and has been overridden on this subgroup.").html_safe % { ancestor_group: ancestor_group(group) }
end
- def issuables_count_service_class(type)
- if type == :issues
- Groups::OpenIssuesCountService
- elsif type == :merge_requests
- Groups::MergeRequestsCountService
- end
- end
-
- def format_issuables_count(count_service, count)
- if count > count_service::CACHED_COUNT_THRESHOLD
- ActiveSupport::NumberHelper
- .number_to_human(
- count,
- units: { thousand: 'k', million: 'm' }, precision: 1, significant: false, format: '%n%u'
- )
- else
- number_with_delimiter(count)
- end
+ def group_url_error_message
+ s_('GroupSettings|Please choose a group URL with no special characters or spaces.')
end
end