summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-09-16 10:01:17 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-09-16 10:56:48 -0300
commit4e0c649a2c16bd6f6fc5e9d3d9a1d3d182e20f22 (patch)
tree2ce5ed402262fc23d2574d78526c78d3a2a7e3d0
parent12a2b893b241de93f079248fae0430caba1d6682 (diff)
downloadgitlab-ce-4e0c649a2c16bd6f6fc5e9d3d9a1d3d182e20f22.tar.gz
Fix MR/Issues count on global labels page
-rw-r--r--app/finders/projects_finder.rb2
-rw-r--r--app/views/admin/labels/_label.html.haml2
-rw-r--r--spec/finders/projects_finder_spec.rb16
3 files changed, 13 insertions, 7 deletions
diff --git a/app/finders/projects_finder.rb b/app/finders/projects_finder.rb
index c7911736812..384b44a72c2 100644
--- a/app/finders/projects_finder.rb
+++ b/app/finders/projects_finder.rb
@@ -1,5 +1,7 @@
class ProjectsFinder < UnionFinder
def execute(current_user = nil, project_ids_relation = nil)
+ return Project.unscoped if current_user && current_user.admin?
+
segments = all_projects(current_user)
segments.map! { |s| s.where(id: project_ids_relation) } if project_ids_relation
diff --git a/app/views/admin/labels/_label.html.haml b/app/views/admin/labels/_label.html.haml
index c6d5c9edce9..a7e53362b48 100644
--- a/app/views/admin/labels/_label.html.haml
+++ b/app/views/admin/labels/_label.html.haml
@@ -27,7 +27,7 @@
.pull-right.hidden-xs.hidden-sm.hidden-md
= link_to_label(label, type: :merge_request, css_class: 'btn btn-transparent btn-action') do
- = pluralize label.open_merge_requests_count, 'merge request'
+ = pluralize open_merge_requests_count, 'merge request'
= link_to_label(label, css_class: 'btn btn-transparent btn-action') do
= pluralize open_issues_count, 'open issue'
diff --git a/spec/finders/projects_finder_spec.rb b/spec/finders/projects_finder_spec.rb
index 7a3a74335e8..1bbdad99ed0 100644
--- a/spec/finders/projects_finder_spec.rb
+++ b/spec/finders/projects_finder_spec.rb
@@ -26,14 +26,14 @@ describe ProjectsFinder do
describe 'without a user' do
subject { finder.execute }
- it { is_expected.to eq([public_project]) }
+ it { is_expected.to contain_exactly(public_project) }
end
describe 'with a user' do
subject { finder.execute(user) }
describe 'without private projects' do
- it { is_expected.to eq([public_project, internal_project]) }
+ it { is_expected.to contain_exactly(public_project, internal_project) }
end
describe 'with private projects' do
@@ -41,18 +41,22 @@ describe ProjectsFinder do
private_project.team.add_user(user, Gitlab::Access::MASTER)
end
- it do
- is_expected.to eq([public_project, internal_project, private_project])
- end
+ it { is_expected.to contain_exactly(public_project, internal_project, private_project) }
end
end
+ describe 'with an admin' do
+ subject { finder.execute(create(:admin)) }
+
+ it { is_expected.to contain_exactly(public_project, internal_project, private_project, shared_project) }
+ end
+
describe 'with project_ids_relation' do
let(:project_ids_relation) { Project.where(id: internal_project.id) }
subject { finder.execute(user, project_ids_relation) }
- it { is_expected.to eq([internal_project]) }
+ it { is_expected.to contain_exactly(internal_project) }
end
end
end