Commit 12adb2a4 authored by Peter Marko's avatar Peter Marko

Show statistics also when repository is disabled

parent 09d25b04
...@@ -187,6 +187,7 @@ class ProjectPolicy < BasePolicy ...@@ -187,6 +187,7 @@ class ProjectPolicy < BasePolicy
rule { can?(:reporter_access) }.policy do rule { can?(:reporter_access) }.policy do
enable :download_code enable :download_code
enable :read_statistics
enable :download_wiki_code enable :download_wiki_code
enable :fork_project enable :fork_project
enable :create_project_snippet enable :create_project_snippet
......
---
title: Show statistics also when repository is disabled
merge_request: 26509
author: Peter Marko
type: fixed
...@@ -275,7 +275,7 @@ module API ...@@ -275,7 +275,7 @@ module API
expose :printing_merge_request_link_enabled expose :printing_merge_request_link_enabled
expose :merge_method expose :merge_method
expose :statistics, using: 'API::Entities::ProjectStatistics', if: -> (project, options) { expose :statistics, using: 'API::Entities::ProjectStatistics', if: -> (project, options) {
options[:statistics] && Ability.allowed?(options[:current_user], :download_code, project) options[:statistics] && Ability.allowed?(options[:current_user], :read_statistics, project)
} }
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
......
...@@ -1183,6 +1183,16 @@ describe API::Projects do ...@@ -1183,6 +1183,16 @@ describe API::Projects do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(200)
expect(json_response).to include 'statistics' expect(json_response).to include 'statistics'
end end
it "includes statistics also when repository is disabled" do
project.add_developer(user)
project.project_feature.update_attribute(:repository_access_level, ProjectFeature::DISABLED)
get api("/projects/#{project.id}", user), params: { statistics: true }
expect(response).to have_gitlab_http_status(200)
expect(json_response).to include 'statistics'
end
end end
it "includes import_error if user can admin project" do it "includes import_error if user can admin project" do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment