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:
authorRobert Speicher <rspeicher@gmail.com>2021-01-20 22:34:23 +0300
committerRobert Speicher <rspeicher@gmail.com>2021-01-20 22:34:23 +0300
commit6438df3a1e0fb944485cebf07976160184697d72 (patch)
tree00b09bfd170e77ae9391b1a2f5a93ef6839f2597 /app/helpers/visibility_level_helper.rb
parent42bcd54d971da7ef2854b896a7b34f4ef8601067 (diff)
Add latest changes from gitlab-org/gitlab@13-8-stable-eev13.8.0-rc42
Diffstat (limited to 'app/helpers/visibility_level_helper.rb')
-rw-r--r--app/helpers/visibility_level_helper.rb110
1 files changed, 27 insertions, 83 deletions
diff --git a/app/helpers/visibility_level_helper.rb b/app/helpers/visibility_level_helper.rb
index 0a37257e124..696f29164fd 100644
--- a/app/helpers/visibility_level_helper.rb
+++ b/app/helpers/visibility_level_helper.rb
@@ -26,76 +26,6 @@ module VisibilityLevelHelper
end
end
- def project_visibility_level_description(level)
- case level
- when Gitlab::VisibilityLevel::PRIVATE
- _("Project access must be granted explicitly to each user. If this project is part of a group, access will be granted to members of the group.")
- when Gitlab::VisibilityLevel::INTERNAL
- _("The project can be accessed by any logged in user except external users.")
- when Gitlab::VisibilityLevel::PUBLIC
- _("The project can be accessed without any authentication.")
- end
- end
-
- def group_visibility_level_description(level)
- case level
- when Gitlab::VisibilityLevel::PRIVATE
- _("The group and its projects can only be viewed by members.")
- when Gitlab::VisibilityLevel::INTERNAL
- _("The group and any internal projects can be viewed by any logged in user except external users.")
- when Gitlab::VisibilityLevel::PUBLIC
- _("The group and any public projects can be viewed without any authentication.")
- end
- end
-
- # Note: these messages closely mirror the form validation strings found in the project
- # model and any changes or additons to these may also need to be made there.
- def disallowed_project_visibility_level_description(level, project)
- level_name = Gitlab::VisibilityLevel.level_name(level).downcase
- reasons = []
- instructions = []
-
- unless project.visibility_level_allowed_as_fork?(level)
- reasons << "the fork source project has lower visibility"
- end
-
- unless project.visibility_level_allowed_by_group?(level)
- errors = visibility_level_errors_for_group(project.group, level_name)
-
- reasons << errors[:reason]
- instructions << errors[:instruction]
- end
-
- reasons = reasons.any? ? ' because ' + reasons.to_sentence : ''
- "This project cannot be #{level_name}#{reasons}.#{instructions.join}".html_safe
- end
-
- # Note: these messages closely mirror the form validation strings found in the group
- # model and any changes or additons to these may also need to be made there.
- def disallowed_group_visibility_level_description(level, group)
- level_name = Gitlab::VisibilityLevel.level_name(level).downcase
- reasons = []
- instructions = []
-
- unless group.visibility_level_allowed_by_projects?(level)
- reasons << "it contains projects with higher visibility"
- end
-
- unless group.visibility_level_allowed_by_sub_groups?(level)
- reasons << "it contains sub-groups with higher visibility"
- end
-
- unless group.visibility_level_allowed_by_parent?(level)
- errors = visibility_level_errors_for_group(group.parent, level_name)
-
- reasons << errors[:reason]
- instructions << errors[:instruction]
- end
-
- reasons = reasons.any? ? ' because ' + reasons.to_sentence : ''
- "This group cannot be #{level_name}#{reasons}.#{instructions.join}".html_safe
- end
-
def visibility_icon_description(form_model)
if form_model.respond_to?(:visibility_level_allowed_as_fork?)
project_visibility_icon_description(form_model.visibility_level)
@@ -104,14 +34,6 @@ module VisibilityLevelHelper
end
end
- def group_visibility_icon_description(level)
- "#{visibility_level_label(level)} - #{group_visibility_level_description(level)}"
- end
-
- def project_visibility_icon_description(level)
- "#{visibility_level_label(level)} - #{project_visibility_level_description(level)}"
- end
-
def visibility_level_label(level)
# The visibility level can be:
# 'VisibilityLevel|Private', 'VisibilityLevel|Internal', 'VisibilityLevel|Public'
@@ -203,11 +125,33 @@ module VisibilityLevelHelper
current_level
end
- def visibility_level_errors_for_group(group, level_name)
- group_name = link_to group.name, group_path(group)
- change_visibility = link_to 'change the visibility', edit_group_path(group)
+ def project_visibility_level_description(level)
+ case level
+ when Gitlab::VisibilityLevel::PRIVATE
+ _("Project access must be granted explicitly to each user. If this project is part of a group, access will be granted to members of the group.")
+ when Gitlab::VisibilityLevel::INTERNAL
+ _("The project can be accessed by any logged in user except external users.")
+ when Gitlab::VisibilityLevel::PUBLIC
+ _("The project can be accessed without any authentication.")
+ end
+ end
+
+ def group_visibility_level_description(level)
+ case level
+ when Gitlab::VisibilityLevel::PRIVATE
+ _("The group and its projects can only be viewed by members.")
+ when Gitlab::VisibilityLevel::INTERNAL
+ _("The group and any internal projects can be viewed by any logged in user except external users.")
+ when Gitlab::VisibilityLevel::PUBLIC
+ _("The group and any public projects can be viewed without any authentication.")
+ end
+ end
- { reason: "the visibility of #{group_name} is #{group.visibility}",
- instruction: " To make this group #{level_name}, you must first #{change_visibility} of the parent group." }
+ def project_visibility_icon_description(level)
+ "#{visibility_level_label(level)} - #{project_visibility_level_description(level)}"
+ end
+
+ def group_visibility_icon_description(level)
+ "#{visibility_level_label(level)} - #{group_visibility_level_description(level)}"
end
end