summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-05-25 12:04:55 +0000
committerDouwe Maan <douwe@gitlab.com>2015-05-25 12:04:55 +0000
commit04d4452286feb265be362086caa1060e3f0f715d (patch)
tree518d530130c046ff7e6fc0b639f815512c61e63c /app/models
parent608bd4bb4cd8a05e6506918c428f8933cd9920de (diff)
parenta7d8a7bd3d4b6f7b388d8976201cbdf3b36ab7aa (diff)
downloadgitlab-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.rb27
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