summaryrefslogtreecommitdiff
path: root/app/policies
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-01-09 21:43:15 +0100
committerRémy Coutable <remy@rymai.me>2017-01-18 16:38:34 +0100
commitfd72c0f4c748658f539d24a286366e9ac7a22b57 (patch)
tree008efd12ec9d7a4798a338add49b777ffe5f6676 /app/policies
parentb4f67cc2294f262d35fe63cc1e60eccebc4667ac (diff)
downloadgitlab-ce-fd72c0f4c748658f539d24a286366e9ac7a22b57.tar.gz
Handle presenters in BasePolicy
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app/policies')
-rw-r--r--app/policies/base_policy.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/app/policies/base_policy.rb b/app/policies/base_policy.rb
index 118c100ca11..43b4a15b81a 100644
--- a/app/policies/base_policy.rb
+++ b/app/policies/base_policy.rb
@@ -53,6 +53,10 @@ class BasePolicy
def self.class_for(subject)
return GlobalPolicy if subject.nil?
+ if subject.class.ancestors.include?(Gitlab::View::Presenter::Base)
+ subject = subject.subject
+ end
+
subject.class.ancestors.each do |klass|
next unless klass.name