diff options
author | Rémy Coutable <remy@rymai.me> | 2016-04-07 08:35:38 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-04-07 08:35:38 +0000 |
commit | d62a3decf945b448a7fcf2fdcf4c523d0b7d2eae (patch) | |
tree | 073a0fe9d046119c8caa28079a928bb93bc1890e | |
parent | 2817c541375bcb5478bc2d922decb017efbe26a5 (diff) | |
parent | 222e1dc59cd559f893a4565040dede300645248b (diff) | |
download | gitlab-ce-d62a3decf945b448a7fcf2fdcf4c523d0b7d2eae.tar.gz |
Merge branch 'fix_14638' into 'master'
Fixes #14638.
The SQL query was ambiguous and in this case we want to filter projects.
See merge request !3462
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/controllers/admin/projects_controller.rb | 2 | ||||
-rw-r--r-- | spec/controllers/admin/projects_controller_spec.rb | 23 |
3 files changed, 25 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index e9243463081..b347ec699e3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -24,6 +24,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: 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 |