summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2017-08-30 16:01:57 -0500
committerMike Greiling <mike@pixelcog.com>2017-08-30 16:01:57 -0500
commit129823664bb2287545b0402823366261151273ca (patch)
tree9bfcca638d968aebcda636822d38273aa08faad7 /app
parent8a72203a589bc3b7a74f5dd60a3c607d21436e6a (diff)
downloadgitlab-ce-129823664bb2287545b0402823366261151273ca.tar.gz
enhance disabled group visibility options with links and instructions
Diffstat (limited to 'app')
-rw-r--r--app/helpers/visibility_level_helper.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/helpers/visibility_level_helper.rb b/app/helpers/visibility_level_helper.rb
index 569872e528b..e21a7b04bb4 100644
--- a/app/helpers/visibility_level_helper.rb
+++ b/app/helpers/visibility_level_helper.rb
@@ -105,6 +105,7 @@ module VisibilityLevelHelper
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"
@@ -115,11 +116,15 @@ module VisibilityLevelHelper
end
unless group.visibility_level_allowed_by_parent?(level)
- reasons << "the visibility of its parent group is #{group.parent.visibility}"
+ parent_group = link_to group.parent.name, group_path(group.parent)
+ change_visiblity = link_to 'change the visibility', edit_group_path(group.parent)
+
+ reasons << "the visibility of #{parent_group} is #{group.parent.visibility}"
+ instructions << " To make this group #{level_name}, you must first #{change_visiblity} of the parent group."
end
reasons = reasons.any? ? ' because ' + reasons.to_sentence : ''
- "This group cannot be #{level_name}#{reasons}."
+ "This group cannot be #{level_name}#{reasons}.#{instructions}".html_safe
end
def visibility_icon_description(form_model)