From 3456ddf526a22190602189814e5e73fe3be45444 Mon Sep 17 00:00:00 2001 From: xxqfamous Date: Tue, 30 May 2023 15:10:02 +0800 Subject: [PATCH] =?UTF-8?q?PR=E6=95=B0=E6=8D=AE=E8=AE=BF=E9=97=AE=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/pull_requests_controller.rb | 31 ++++++++------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 39735687c..0cf022f7c 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -12,28 +12,21 @@ class PullRequestsController < ApplicationController def index + # @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 = issues.distinct + @filter_issues = @all_issues + @filter_issues = @filter_issues.where("issues.subject LIKE ? OR issues.description LIKE ? ", "%#{params[:search]}%", "%#{params[:search]}%") if params[:search].present? + @open_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::OPEN}) + @close_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::CLOSED}) + @merged_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::MERGED}) @user_admin_or_member = current_user.present? && (current_user.admin || @project.member?(current_user)) @user_admin_or_developer = current_user.present? && (current_user.admin || @project.all_developers.include?(current_user)) - if @project.pr_view_admin? && !@project.manager?(current_user) - @open_issues = [] - @close_issues = [] - @merged_issues = [] - @issues_size = 0 - @issues = [] - else - 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 = issues.distinct - @filter_issues = @all_issues - @filter_issues = @filter_issues.where("issues.subject LIKE ? OR issues.description LIKE ? ", "%#{params[:search]}%", "%#{params[:search]}%") if params[:search].present? - @open_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::OPEN}) - @close_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::CLOSED}) - @merged_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::MERGED}) - scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "PullRequest") - @issues_size = scopes.size - @issues = paginate(scopes) - end + scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "PullRequest") + @issues_size = scopes.size + @issues = paginate(scopes) end def new