Commit 7d3efec7d190948423d7e40a3f87e2d62b4ea808

Authored by Andrey Kumanyaev
Committed by Dmitriy Zaporozhets
1 parent 695becc4

Add ability to teams

Showing 1 changed file with 17 additions and 0 deletions   Show diff stats
app/models/ability.rb
... ... @@ -8,6 +8,7 @@ class Ability
8 8 when "Snippet" then snippet_abilities(object, subject)
9 9 when "MergeRequest" then merge_request_abilities(object, subject)
10 10 when "Group", "Namespace" then group_abilities(object, subject)
  11 + when "UserTeam" then user_team_abilities(object, subject)
11 12 else []
12 13 end
13 14 end
... ... @@ -110,6 +111,22 @@ class Ability
110 111 rules.flatten
111 112 end
112 113  
  114 + def user_team_abilities user, team
  115 + rules = []
  116 +
  117 + # Only group owner and administrators can manage group
  118 + if team.owner == user || team.admin?(user) || user.admin?
  119 + rules << [ :manage_user_team ]
  120 + end
  121 +
  122 + if team.owner == user || user.admin?
  123 + rules << [ :admin_user_team ]
  124 + end
  125 +
  126 + rules.flatten
  127 + end
  128 +
  129 +
113 130 [:issue, :note, :snippet, :merge_request].each do |name|
114 131 define_method "#{name}_abilities" do |user, subject|
115 132 if subject.author == user
... ...