Module: UpdateVisibilityLevel
- Included in:
- Groups::UpdateService, Projects::UpdateService
- Defined in:
- app/services/concerns/update_visibility_level.rb
Instance Method Summary collapse
-
#valid_visibility_level_change?(target, new_visibility) ⇒ Boolean
check that user is allowed to set specified visibility_level.
Instance Method Details
#valid_visibility_level_change?(target, new_visibility) ⇒ Boolean
check that user is allowed to set specified visibility_level
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'app/services/concerns/update_visibility_level.rb', line 5 def valid_visibility_level_change?(target, new_visibility) return true unless new_visibility new_visibility_level = Gitlab::VisibilityLevel.level_value(new_visibility, fallback_value: nil) if new_visibility_level != target.visibility_level_value unless can?(current_user, :change_visibility_level, target) && Gitlab::VisibilityLevel.allowed_for?(current_user, new_visibility_level) deny_visibility_level(target, new_visibility_level) return false end end true end |