debian-mirror-gitlab/app/policies/group_member_policy.rb

26 lines
511 B
Ruby
Raw Normal View History

2016-09-29 09:46:39 +05:30
class GroupMemberPolicy < BasePolicy
def rules
return unless @user
target_user = @subject.user
group = @subject.group
return if group.last_owner?(target_user)
can_manage = Ability.allowed?(@user, :admin_group_member, group)
if can_manage
can! :update_group_member
can! :destroy_group_member
elsif @user == target_user
can! :destroy_group_member
end
2017-08-17 22:00:37 +05:30
additional_rules!
end
def additional_rules!
# This is meant to be overriden in EE
2016-09-29 09:46:39 +05:30
end
end