diff options
Diffstat (limited to 'app/models/ability.rb')
-rw-r--r-- | app/models/ability.rb | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/app/models/ability.rb b/app/models/ability.rb index 70e37babd39..228a0641faf 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -32,6 +32,19 @@ class Ability issues.select { |issue| issue.visible_to_user?(user) } end + # TODO: make this private and use the actual abilities stuff for this + def can_edit_note?(user, note) + return false if !note.editable? || !user.present? + return true if note.author == user || user.admin? + + if note.project + max_access_level = note.project.team.max_member_access(user.id) + max_access_level >= Gitlab::Access::MASTER + else + false + end + end + def allowed?(user, action, subject) cached_allowed(user, subject).include?(action) end @@ -410,18 +423,6 @@ class Ability GroupProjectsFinder.new(group).execute(user).any? end - def can_edit_note?(user, note) - return false if !note.editable? || !user.present? - return true if note.author == user || user.admin? - - if note.project - max_access_level = note.project.team.max_member_access(user.id) - max_access_level >= Gitlab::Access::MASTER - else - false - end - end - def namespace_abilities(user, namespace) rules = [] |