diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index f45d1f359..1dc5827cc 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -56,7 +56,12 @@ class PullRequestsController < ApplicationController end def create - # return normal_status(-1, "您不是目标分支开发者,没有权限,请联系目标分支作者.") unless @project.operator?(current_user) + if params[:fork_project_id].present? + fork_project= Project.find_by(id: params[:fork_project_id]) + return normal_status(-1, "您不是源项目开发者,没有权限,请联系源项目管理员.") unless fork_project && fork_project.operator?(current_user) + else + return normal_status(-1, "您不是项目开发者,没有权限,请联系项目管理员.") unless @project.operator?(current_user) + end ActiveRecord::Base.transaction do Issues::CreateForm.new({subject: params[:title], description: params[:body].blank? ? params[:body] : params[:body].b}).validate! @pull_request, @gitea_pull_request = PullRequests::CreateService.call(current_user, @owner, @project, params)