diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 3d18e503..518ad91d 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -140,7 +140,7 @@ class PullRequestsController < ApplicationController end def pr_merge - return render_forbidden("你没有权限操作.") unless @project.develper?(current_user) + return render_forbidden("你没有权限操作.") unless @project.operator?(current_user) if params[:do].blank? normal_status(-1, "请选择合并方式") diff --git a/app/models/concerns/project_operable.rb b/app/models/concerns/project_operable.rb index a4646f9e..c877b785 100644 --- a/app/models/concerns/project_operable.rb +++ b/app/models/concerns/project_operable.rb @@ -84,6 +84,10 @@ module ProjectOperable end end + def operator?(user) + user.admin? || !reporter?(user) + end + def set_developer_role(member, role_name) role = Role.find_by(name: role_name) member.member_roles.create!(role: role)