From 880f09a94a77c9470ddff05bd5e4f053a4700d8b Mon Sep 17 00:00:00 2001 From: "vilet.yy" Date: Wed, 16 Jun 2021 11:10:26 +0800 Subject: [PATCH] fix: change pulls navbar count --- app/controllers/pull_requests_controller.rb | 12 +++++++----- app/views/pull_requests/index.json.jbuilder | 8 ++++---- app/views/repositories/detail.json.jbuilder | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 139ea9526..2a9713f8d 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -12,14 +12,16 @@ class PullRequestsController < ApplicationController # @issues = Gitea::PullRequest::ListService.new(@user,@repository.try(:identifier)).call #通过gitea获取 issues = @project.issues.issue_pull_request.issue_index_includes.includes(pull_request: :user) issues = issues.where(is_private: false) unless current_user.present? && (current_user.admin? || @project.member?(current_user)) - @all_issues_size = issues.size - @open_issues_size = issues.joins(:pull_request).where(pull_requests: {status: 0}).size - @close_issues_size = issues.joins(:pull_request).where(pull_requests: {status: 2}).size - @merged_issues_size = issues.joins(:pull_request).where(pull_requests: {status: 1}).size + @all_issues = issues.distinct + @filter_issues = @all_issues + @filter_issues = @filter_issues.where("subject LIKE ? OR description LIKE ? ", "%#{params[:search]}%", "%#{params[:search]}%") if params[:search].present? + @open_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: 0}) + @close_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: 2}) + @merged_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: 1}) @user_admin_or_member = current_user.present? && (current_user.admin || @project.member?(current_user)) scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "PullRequest") - @issues_size = scopes.size + @issues_size = @filter_issues.size @issues = paginate(scopes) end diff --git a/app/views/pull_requests/index.json.jbuilder b/app/views/pull_requests/index.json.jbuilder index 14454d70d..b83266475 100644 --- a/app/views/pull_requests/index.json.jbuilder +++ b/app/views/pull_requests/index.json.jbuilder @@ -1,8 +1,8 @@ json.partial! "commons/success" -json.all_count @all_issues_size -json.open_count @open_issues_size -json.close_count @close_issues_size -json.merged_issues_size @merged_issues_size +json.all_count @all_issues.size +json.open_count @open_issues.size +json.close_count @close_issues.size +json.merged_issues_size @merged_issues.size json.search_count @issues_size json.limit @limit json.user_admin_or_member @user_admin_or_member diff --git a/app/views/repositories/detail.json.jbuilder b/app/views/repositories/detail.json.jbuilder index efbab30f7..89ab96a3f 100644 --- a/app/views/repositories/detail.json.jbuilder +++ b/app/views/repositories/detail.json.jbuilder @@ -12,7 +12,7 @@ json.name @project.name json.description @project.description json.project_id @project.id json.repo_id @repository.id -json.issues_count @project.issues_count.to_i - @project.pull_requests_count.to_i - @project.issues.issue_issue.closed.size +json.issues_count @project.issues.issue_issue.size - @project.issues.issue_issue.closed.size json.pull_requests_count @project.pull_requests.opening.size json.project_identifier render_identifier(@project) json.praises_count @project.praises_count.to_i