Show statistics also when repository is disabled
This commit is contained in:
parent
09d25b04c3
commit
12adb2a4bc
|
@ -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
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Show statistics also when repository is disabled
|
||||||
|
merge_request: 26509
|
||||||
|
author: Peter Marko
|
||||||
|
type: fixed
|
|
@ -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
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue