FIX when add members to project, permission set to readable

This commit is contained in:
Jasder 2020-12-29 17:17:36 +08:00
parent 3f525f5779
commit 604da93c5c
2 changed files with 16 additions and 7 deletions

View File

@ -3,16 +3,16 @@ class Admins::ApplySignaturesController < Admins::BaseController
def index def index
sort_by = params[:sort_by] ||= 'created_on' sort_by = params[:sort_by] ||= 'created_on'
sort_direction = params[:sort_direction] ||= 'desc' sort_direction = params[:sort_direction] ||= 'desc'
@apply_signatures = paginate ApplySignature.waiting.includes(:attachments) @apply_signatures = paginate ApplySignature.waiting.includes(:attachments)
end end
def update def update
ActiveRecord::Base.transaction do ActiveRecord::Base.transaction do
begin begin
apply_signature = ApplySignature.find_by!(id: params[:id]) apply_signature = ApplySignature.find_by!(id: params[:id])
apply_signature.update_attributes!(apply_signatures_params) apply_signature.update_attributes!(apply_signatures_params)
Projects::AddMemberInteractor.call(apply_signature.project.owner, apply_signature.project, apply_signature.user, "write", true) Projects::AddMemberInteractor.call(apply_signature.project.owner, apply_signature.project, apply_signature.user, "read", true)
redirect_to admins_apply_signatures_path redirect_to admins_apply_signatures_path
flash[:success] = "更新成功" flash[:success] = "更新成功"
rescue => e rescue => e
@ -23,8 +23,8 @@ class Admins::ApplySignaturesController < Admins::BaseController
end end
end end
private private
def apply_signatures_params def apply_signatures_params
params.permit(:status) params.permit(:status)
end end
end end

View File

@ -24,7 +24,7 @@ module Projects
ActiveRecord::Base.transaction do ActiveRecord::Base.transaction do
gitea_result = Gitea::Repository::Members::AddService.new(owner, project.identifier, collaborator.login, permission).call gitea_result = Gitea::Repository::Members::AddService.new(owner, project.identifier, collaborator.login, permission).call
if gitea_result.status == 204 if gitea_result.status == 204
project.add_member!(collaborator.id, 'Developer', is_apply_signature) project.add_member!(collaborator.id, set_member_role, is_apply_signature)
end end
fail!(nil) fail!(nil)
end end
@ -39,5 +39,14 @@ module Projects
@error = error @error = error
end end
def set_member_role
@role ||=
case @permission
when "write" then "Developer"
when "read" then "Reporter"
else "Developer"
end
end
end end
end end