summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-02-06 20:32:34 -0600
committerDouwe Maan <douwe@selenight.nl>2017-02-06 21:02:07 -0600
commitffcbc636930ab4d844da7677ab8439d0ede5f12f (patch)
tree9d6cf0d26104ef2e02bda10db30bffa0e26ed3d0 /lib
parent87cdb156ce51a1300f833c633b802b9be5c980d0 (diff)
downloadgitlab-ce-ffcbc636930ab4d844da7677ab8439d0ede5f12f.tar.gz
List all groups/projects for admins on explore pages
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/visibility_level.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/gitlab/visibility_level.rb b/lib/gitlab/visibility_level.rb
index c7953af29dd..a4e966e4016 100644
--- a/lib/gitlab/visibility_level.rb
+++ b/lib/gitlab/visibility_level.rb
@@ -13,7 +13,19 @@ module Gitlab
scope :public_and_internal_only, -> { where(visibility_level: [PUBLIC, INTERNAL] ) }
scope :non_public_only, -> { where.not(visibility_level: PUBLIC) }
- scope :public_to_user, -> (user) { user && !user.external ? public_and_internal_only : public_only }
+ scope :public_to_user, -> (user) do
+ if user
+ if user.admin?
+ all
+ elsif !user.external?
+ public_and_internal_only
+ else
+ public_only
+ end
+ else
+ public_only
+ end
+ end
end
PRIVATE = 0 unless const_defined?(:PRIVATE)