diff options
Diffstat (limited to 'app/models/ability.rb')
-rw-r--r-- | app/models/ability.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/ability.rb b/app/models/ability.rb index c3a212f473d..e55e7709372 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -7,6 +7,7 @@ class Ability when "Note" then note_abilities(object, subject) when "Snippet" then snippet_abilities(object, subject) when "MergeRequest" then merge_request_abilities(object, subject) + when "Group" then group_abilities(object, subject) else [] end end @@ -61,6 +62,16 @@ class Ability rules.flatten end + def group_abilities user, group + rules = [] + + rules << [ + :manage_group + ] if group.owner == user + + rules.flatten + end + [:issue, :note, :snippet, :merge_request].each do |name| define_method "#{name}_abilities" do |user, subject| if subject.author == user |