diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-06-26 17:18:40 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-06-26 17:18:40 +0200 |
commit | 083d4604c49abfec8bf368fe0541d88dcc9bb6ed (patch) | |
tree | 6bc4f32563e87a787ffeca79f49521e0ade0ff91 /app/models | |
parent | d63371ad783db055da840be37ddac0cdcb49db2c (diff) | |
download | gitlab-ce-083d4604c49abfec8bf368fe0541d88dcc9bb6ed.tar.gz |
Change dynamic abilities to new format
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/ability.rb | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/app/models/ability.rb b/app/models/ability.rb index 6e727ca7b56..b4a9adb5ffc 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -246,20 +246,16 @@ class Ability [:issue, :note, :project_snippet, :personal_snippet, :merge_request].each do |name| define_method "#{name}_abilities" do |user, subject| - if subject.author == user || user.is_admin? - rules = [ + if user.is_admin? + [ :"read_#{name}", - :"write_#{name}", - :"modify_#{name}", + :"update_#{name}", :"admin_#{name}" ] - rules.push(:change_visibility_level) if subject.is_a?(Snippet) - rules - elsif subject.respond_to?(:assignee) && subject.assignee == user + elsif subject.author == user || (subject.respond_to?(:assignee) && subject.assignee == user) [ :"read_#{name}", - :"write_#{name}", - :"modify_#{name}", + :"update_#{name}", ] else if subject.respond_to?(:project) && subject.project @@ -299,8 +295,8 @@ class Ability def named_abilities(name) [ :"read_#{name}", - :"write_#{name}", - :"modify_#{name}", + :"create_#{name}", + :"update_#{name}", :"admin_#{name}" ] end |