summaryrefslogtreecommitdiff
path: root/app/finders/snippets_finder.rb
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2016-12-07 16:35:53 -0600
committerMike Greiling <mike@pixelcog.com>2016-12-10 00:57:23 -0600
commit54a1193d790ae40fea5db1d8596c12fbc7a93576 (patch)
tree98123332599e0d493a92901317f14ae8c5d6e672 /app/finders/snippets_finder.rb
parentb65d3e1132762b9e1a39ce908b3b481f92d9a10c (diff)
downloadgitlab-ce-54a1193d790ae40fea5db1d8596c12fbc7a93576.tar.gz
add scope filters to project snippets page
Diffstat (limited to 'app/finders/snippets_finder.rb')
-rw-r--r--app/finders/snippets_finder.rb24
1 files changed, 20 insertions, 4 deletions
diff --git a/app/finders/snippets_finder.rb b/app/finders/snippets_finder.rb
index 00ff1611039..99f1e73c800 100644
--- a/app/finders/snippets_finder.rb
+++ b/app/finders/snippets_finder.rb
@@ -8,7 +8,7 @@ class SnippetsFinder
when :by_user then
by_user(current_user, params[:user], params[:scope])
when :by_project
- by_project(current_user, params[:project])
+ by_project(current_user, params[:project], params[:scope])
end
end
@@ -47,14 +47,30 @@ class SnippetsFinder
end
end
- def by_project(current_user, project)
+ def by_project(current_user, project, scope)
snippets = project.snippets.fresh
if current_user
if project.team.member?(current_user) || current_user.admin?
- snippets
+ case scope
+ when 'are_internal' then
+ snippets.are_internal
+ when 'are_private' then
+ snippets.are_private
+ when 'are_public' then
+ snippets.are_public
+ else
+ snippets
+ end
else
- snippets.public_and_internal
+ case scope
+ when 'are_internal' then
+ snippets.are_internal
+ when 'are_public' then
+ snippets.are_public
+ else
+ snippets.public_and_internal
+ end
end
else
snippets.are_public