PR数据访问权限控制
This commit is contained in:
parent
f5c3fe2b8d
commit
3456ddf526
|
@ -12,28 +12,21 @@ class PullRequestsController < ApplicationController
|
||||||
|
|
||||||
|
|
||||||
def index
|
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_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))
|
@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")
|
scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "PullRequest")
|
||||||
@issues_size = scopes.size
|
@issues_size = scopes.size
|
||||||
@issues = paginate(scopes)
|
@issues = paginate(scopes)
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
|
|
Loading…
Reference in New Issue