summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPotHix <pothix@pothix.com>2016-04-06 12:05:50 -0300
committerPotHix <pothix@pothix.com>2016-04-06 13:56:28 -0300
commit222e1dc59cd559f893a4565040dede300645248b (patch)
tree0427068eef129755fbd50d5d0870262b2ff3f0c9
parent801e870ddbce07b9171c08d739ea40007895a0cd (diff)
downloadgitlab-ce-222e1dc59cd559f893a4565040dede300645248b.tar.gz
Fixes #14638.
The SQL query was ambiguous and in this case we want to filter projects.
-rw-r--r--CHANGELOG1
-rw-r--r--app/controllers/admin/projects_controller.rb2
-rw-r--r--spec/controllers/admin/projects_controller_spec.rb23
3 files changed, 25 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index a23c8a54af1..35c668f17bf 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -22,6 +22,7 @@ v 8.7.0 (unreleased)
- Fall back to `In-Reply-To` and `References` headers when sub-addressing is not available (David Padilla)
- Remove "Congratulations!" tweet button on newly-created project. (Connor Shea)
- Improved UX of the navigation sidebar
+ - Fix admin/projects when using visibility levels on search (PotHix)
- Build status notifications
- API: Ability to retrieve a specific tag (Robert Schilling)
- API: Expose user location (Robert Schilling)
diff --git a/app/controllers/admin/projects_controller.rb b/app/controllers/admin/projects_controller.rb
index 4089091d569..c6b3105544a 100644
--- a/app/controllers/admin/projects_controller.rb
+++ b/app/controllers/admin/projects_controller.rb
@@ -5,7 +5,7 @@ class Admin::ProjectsController < Admin::ApplicationController
def index
@projects = Project.all
@projects = @projects.in_namespace(params[:namespace_id]) if params[:namespace_id].present?
- @projects = @projects.where("visibility_level IN (?)", params[:visibility_levels]) if params[:visibility_levels].present?
+ @projects = @projects.where("projects.visibility_level IN (?)", params[:visibility_levels]) if params[:visibility_levels].present?
@projects = @projects.with_push if params[:with_push].present?
@projects = @projects.abandoned if params[:abandoned].present?
@projects = @projects.non_archived unless params[:with_archived].present?
diff --git a/spec/controllers/admin/projects_controller_spec.rb b/spec/controllers/admin/projects_controller_spec.rb
new file mode 100644
index 00000000000..2ba0d489197
--- /dev/null
+++ b/spec/controllers/admin/projects_controller_spec.rb
@@ -0,0 +1,23 @@
+require 'spec_helper'
+
+describe Admin::ProjectsController do
+ let!(:project) { create(:project, visibility_level: Gitlab::VisibilityLevel::PUBLIC) }
+
+ before do
+ sign_in(create(:admin))
+ end
+
+ describe 'GET /projects' do
+ render_views
+
+ it 'retrieves the project for the given visibility level' do
+ get :index, visibility_levels: [Gitlab::VisibilityLevel::PUBLIC]
+ expect(response.body).to match(project.name)
+ end
+
+ it 'does not retrieve the project' do
+ get :index, visibility_levels: [Gitlab::VisibilityLevel::INTERNAL]
+ expect(response.body).to_not match(project.name)
+ end
+ end
+end