diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-05-25 12:04:55 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-05-25 12:04:55 +0000 |
commit | 04d4452286feb265be362086caa1060e3f0f715d (patch) | |
tree | 518d530130c046ff7e6fc0b639f815512c61e63c /app/models | |
parent | 608bd4bb4cd8a05e6506918c428f8933cd9920de (diff) | |
parent | a7d8a7bd3d4b6f7b388d8976201cbdf3b36ab7aa (diff) | |
download | gitlab-ce-04d4452286feb265be362086caa1060e3f0f715d.tar.gz |
Merge branch 'disabled-issues-mr-features' into 'master'
Disable "New Issue" and "New Merge Request" buttons when features are disabled in project settings
Closes #1676
See merge request !691
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/ability.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/models/ability.rb b/app/models/ability.rb index 85a15596f8d..04d9dccf916 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -101,6 +101,22 @@ class Ability rules -= project_archived_rules end + unless project.issues_enabled + rules -= named_abilities('issue') + end + + unless project.merge_requests_enabled + rules -= named_abilities('merge_request') + end + + unless project.snippets_enabled + rules -= named_abilities('snippet') + end + + unless project.wiki_enabled + rules -= named_abilities('wiki') + end + rules end end @@ -272,5 +288,16 @@ class Ability abilities end end + + private + + def named_abilities(name) + [ + :"read_#{name}", + :"write_#{name}", + :"modify_#{name}", + :"admin_#{name}" + ] + end end end |