|
|
|
@@ -12,21 +12,28 @@ 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)) |
|
|
|
|
|
|
|
scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "PullRequest") |
|
|
|
@issues_size = scopes.size |
|
|
|
@issues = paginate(scopes) |
|
|
|
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 |
|
|
|
end |
|
|
|
|
|
|
|
def new |
|
|
|
@@ -192,6 +199,7 @@ class PullRequestsController < ApplicationController |
|
|
|
end |
|
|
|
|
|
|
|
def show |
|
|
|
tip_exception(403, "你没有权限访问") if @project.pr_view_admin? && !@project.manager?(current_user) |
|
|
|
@issue_user = @issue.user |
|
|
|
@issue_assign_to = @issue.get_assign_user |
|
|
|
@gitea_pull = Gitea::PullRequest::GetService.call(@owner.login, |
|
|
|
|