diff options
Diffstat (limited to 'lib/gitlab/git_access_design.rb')
-rw-r--r-- | lib/gitlab/git_access_design.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/gitlab/git_access_design.rb b/lib/gitlab/git_access_design.rb index 36604bd0b3b..6bea9fe53b3 100644 --- a/lib/gitlab/git_access_design.rb +++ b/lib/gitlab/git_access_design.rb @@ -2,6 +2,8 @@ module Gitlab class GitAccessDesign < GitAccess + extend ::Gitlab::Utils::Override + def check(_cmd, _changes) check_protocol! check_can_create_design! @@ -9,6 +11,11 @@ module Gitlab success_result end + override :push_ability + def push_ability + :create_design + end + private def check_protocol! @@ -18,7 +25,7 @@ module Gitlab end def check_can_create_design! - unless user&.can?(:create_design, project) + unless user_can_push? raise ::Gitlab::GitAccess::ForbiddenError, "You are not allowed to manage designs of this project" end end |