diff options
author | Stan Hu <stanhu@gmail.com> | 2019-09-11 00:24:05 +0000 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-09-11 00:24:05 +0000 |
commit | d20ce7de3e9174fba2b35673bcc23085136523b3 (patch) | |
tree | 2475cf85620f6397d8efa20465b974142bd3947d /app | |
parent | c0b9e50af9ecdbaf6cd8bb0dbcf23388c3c388e4 (diff) | |
parent | a38aa7e3df0f91ebaa017b29cd508958fa7b0df1 (diff) | |
download | gitlab-ce-d20ce7de3e9174fba2b35673bcc23085136523b3.tar.gz |
Merge branch '66023-public-private-fork-counts' into 'master'
Resolve "Forks count do not match after searching"
Closes #66023
See merge request gitlab-org/gitlab-ce!31930
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/projects/forks_controller.rb | 15 | ||||
-rw-r--r-- | app/views/projects/forks/index.html.haml | 2 | ||||
-rw-r--r-- | app/views/shared/projects/_list.html.haml | 6 |
3 files changed, 10 insertions, 13 deletions
diff --git a/app/controllers/projects/forks_controller.rb b/app/controllers/projects/forks_controller.rb index ac1c4bc7fd3..1bb21857dcf 100644 --- a/app/controllers/projects/forks_controller.rb +++ b/app/controllers/projects/forks_controller.rb @@ -2,6 +2,7 @@ class Projects::ForksController < Projects::ApplicationController include ContinueParams + include RendersMemberAccess # Authorize before_action :whitelist_query_limiting, only: [:create] @@ -11,14 +12,16 @@ class Projects::ForksController < Projects::ApplicationController # rubocop: disable CodeReuse/ActiveRecord def index - base_query = project.forks.includes(:creator) + @total_forks_count = project.forks.size + @public_forks_count = project.forks.public_only.size + @private_forks_count = @total_forks_count - project.forks.public_and_internal_only.size + @internal_forks_count = @total_forks_count - @public_forks_count - @private_forks_count - forks = ForkProjectsFinder.new(project, params: params.merge(search: params[:filter_projects]), current_user: current_user).execute - @total_forks_count = base_query.size - @private_forks_count = @total_forks_count - forks.size - @public_forks_count = @total_forks_count - @private_forks_count + @forks = ForkProjectsFinder.new(project, params: params.merge(search: params[:filter_projects]), current_user: current_user).execute + @forks = @forks.includes(:route, :creator, :group, namespace: [:route, :owner]) + .page(params[:page]) - @forks = forks.page(params[:page]) + prepare_projects_for_rendering(@forks) respond_to do |format| format.html diff --git a/app/views/projects/forks/index.html.haml b/app/views/projects/forks/index.html.haml index 0397a7034c7..8384561891a 100644 --- a/app/views/projects/forks/index.html.haml +++ b/app/views/projects/forks/index.html.haml @@ -1,6 +1,6 @@ .top-area .nav-text - - full_count_title = "#{@public_forks_count} public and #{@private_forks_count} private" + - full_count_title = "#{@public_forks_count} public, #{@internal_forks_count} internal, and #{@private_forks_count} private" #{pluralize(@total_forks_count, 'fork')}: #{full_count_title} .nav-controls diff --git a/app/views/shared/projects/_list.html.haml b/app/views/shared/projects/_list.html.haml index bb05658c719..d70a1631010 100644 --- a/app/views/shared/projects/_list.html.haml +++ b/app/views/shared/projects/_list.html.haml @@ -42,12 +42,6 @@ avatar: avatar, stars: stars, css_class: css_class, ci: ci, use_creator_avatar: use_creator_avatar, forks: forks, show_last_commit_as_description: show_last_commit_as_description, user: user, merge_requests: merge_requests, issues: issues, pipeline_status: pipeline_status, compact_mode: compact_mode - - - if @private_forks_count && @private_forks_count > 0 - %li.project-row.private-forks-notice - = icon('lock fw', base: 'circle', class: 'fa-lg private-fork-icon') - %strong= pluralize(@private_forks_count, 'private fork') - %span you have no access to. = paginate_collection(projects, remote: remote) unless skip_pagination - else - if @contributed_projects |