Commit 6cad21ef authored by Mike Greiling's avatar Mike Greiling

revert changes to visibility level helpers from 6f03ddcd

parent b9b0b37b
...@@ -82,11 +82,11 @@ module VisibilityLevelHelper ...@@ -82,11 +82,11 @@ module VisibilityLevelHelper
reasons = [] reasons = []
unless project.visibility_level_allowed_as_fork?(level) unless project.visibility_level_allowed_as_fork?(level)
reasons << project.visibility_error_for(:fork, level: level_name) reasons << "the fork source project has lower visibility"
end end
unless project.visibility_level_allowed_by_group?(level) unless project.visibility_level_allowed_by_group?(level)
reasons << project.visibility_error_for(:group, level: level_name, group_level: project.group.visibility) reasons << "the visibility of #{project.group.name} is #{project.group.visibility}"
end end
reasons = reasons.any? ? ' because ' + reasons.to_sentence : '' reasons = reasons.any? ? ' because ' + reasons.to_sentence : ''
...@@ -98,15 +98,15 @@ module VisibilityLevelHelper ...@@ -98,15 +98,15 @@ module VisibilityLevelHelper
reasons = [] reasons = []
unless group.visibility_level_allowed_by_projects?(level) unless group.visibility_level_allowed_by_projects?(level)
reasons << group.visibility_error_for(:projects, level: level_name) reasons << "it contains projects with higher visibility"
end end
unless group.visibility_level_allowed_by_sub_groups?(level) unless group.visibility_level_allowed_by_sub_groups?(level)
reasons << group.visibility_error_for(:sub_groups, level: level_name) reasons << "it contains sub-groups with higher visibility"
end end
unless group.visibility_level_allowed_by_parent?(level) unless group.visibility_level_allowed_by_parent?(level)
reasons << group.visibility_error_for(:parent, level: level_name, parent_level: group.parent.visibility) reasons << "the visibility of its parent group is #{group.parent.visibility}"
end end
reasons = reasons.any? ? ' because ' + reasons.to_sentence : '' reasons = reasons.any? ? ' because ' + reasons.to_sentence : ''
......
...@@ -297,18 +297,18 @@ class Group < Namespace ...@@ -297,18 +297,18 @@ class Group < Namespace
def visibility_level_allowed_by_parent def visibility_level_allowed_by_parent
return if visibility_level_allowed_by_parent? return if visibility_level_allowed_by_parent?
errors.add(:visibility_level, visibility_error_for(:parent, level: visibility, parent_level: parent.visibility)) errors.add(:visibility_level, "#{visibility} is not allowed since the parent group has a #{parent.visibility} visibility.")
end end
def visibility_level_allowed_by_projects def visibility_level_allowed_by_projects
return if visibility_level_allowed_by_projects? return if visibility_level_allowed_by_projects?
errors.add(:visibility_level, visibility_error_for(:projects, level: visibility)) errors.add(:visibility_level, "#{visibility} is not allowed since this group contains projects with higher visibility.")
end end
def visibility_level_allowed_by_sub_groups def visibility_level_allowed_by_sub_groups
return if visibility_level_allowed_by_sub_groups? return if visibility_level_allowed_by_sub_groups?
errors.add(:visibility_level, visibility_error_for(:sub_groups, level: visibility)) errors.add(:visibility_level, "#{visibility} is not allowed since there are sub-groups with higher visibility.")
end end
end end
...@@ -671,16 +671,14 @@ class Project < ActiveRecord::Base ...@@ -671,16 +671,14 @@ class Project < ActiveRecord::Base
level_name = Gitlab::VisibilityLevel.level_name(self.visibility_level).downcase level_name = Gitlab::VisibilityLevel.level_name(self.visibility_level).downcase
group_level_name = Gitlab::VisibilityLevel.level_name(self.group.visibility_level).downcase group_level_name = Gitlab::VisibilityLevel.level_name(self.group.visibility_level).downcase
self.errors.add(:visibility_level, "#{level_name} is not allowed in a #{group_level_name} group.")
self.errors.add(:visibility_level, visibility_error_for(:group, level: level_name, group_level: group_level_name))
end end
def visibility_level_allowed_as_fork def visibility_level_allowed_as_fork
return if visibility_level_allowed_as_fork? return if visibility_level_allowed_as_fork?
level_name = Gitlab::VisibilityLevel.level_name(self.visibility_level).downcase level_name = Gitlab::VisibilityLevel.level_name(self.visibility_level).downcase
self.errors.add(:visibility_level, "#{level_name} is not allowed since the fork source project has lower visibility.")
self.errors.add(:visibility_level, visibility_error_for(:fork, level: level_name))
end end
def check_wiki_path_conflict def check_wiki_path_conflict
......
...@@ -130,23 +130,5 @@ module Gitlab ...@@ -130,23 +130,5 @@ module Gitlab
def visibility=(level) def visibility=(level)
self[visibility_level_field] = Gitlab::VisibilityLevel.level_value(level) self[visibility_level_field] = Gitlab::VisibilityLevel.level_value(level)
end end
def visibility_errors_template
@visibility_errors ||= {
'Project' => {
group: "%{level} is not allowed in a %{group_level} group",
fork: "%{level} is not allowed since the fork source project has lower visibility"
},
'Group' => {
parent: "%{level} is not allowed since the parent group has a %{parent_level} visibility",
projects: "%{level} is not allowed since this group contains projects with higher visibility",
sub_groups: "%{level} is not allowed since there are sub-groups with higher visibility"
}
}
end
def visibility_error_for(section, variables)
visibility_errors_template.dig(model_name.to_s, section) % variables
end
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment