Browse Source

FIX when add members to project, permission set to readable

pull/278/head
Jasder 5 years ago
parent
commit
604da93c5c
2 changed files with 16 additions and 7 deletions
  1. +6
    -6
      app/controllers/admins/apply_signatures_controller.rb
  2. +10
    -1
      app/interactors/projects/add_member_interactor.rb

+ 6
- 6
app/controllers/admins/apply_signatures_controller.rb View File

@@ -3,16 +3,16 @@ class Admins::ApplySignaturesController < Admins::BaseController
def index
sort_by = params[:sort_by] ||= 'created_on'
sort_direction = params[:sort_direction] ||= 'desc'
@apply_signatures = paginate ApplySignature.waiting.includes(:attachments)
end
def update
ActiveRecord::Base.transaction do
ActiveRecord::Base.transaction do
begin
apply_signature = ApplySignature.find_by!(id: params[:id])
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
flash[:success] = "更新成功"
rescue => e
@@ -23,8 +23,8 @@ class Admins::ApplySignaturesController < Admins::BaseController
end
end

private
private
def apply_signatures_params
params.permit(:status)
end
end
end

+ 10
- 1
app/interactors/projects/add_member_interactor.rb View File

@@ -24,7 +24,7 @@ module Projects
ActiveRecord::Base.transaction do
gitea_result = Gitea::Repository::Members::AddService.new(owner, project.identifier, collaborator.login, permission).call
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
fail!(nil)
end
@@ -39,5 +39,14 @@ module Projects
@error = error
end

def set_member_role
@role ||=
case @permission
when "write" then "Developer"
when "read" then "Reporter"
else "Developer"
end
end

end
end

Loading…
Cancel
Save