mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-20 14:45:56 +08:00
Fix removing user from public projects [SCI-9174] (#6130)
This commit is contained in:
parent
df290ad3b3
commit
90cd330126
|
@ -99,21 +99,11 @@ module AccessPermissions
|
|||
raise ActiveRecord::RecordInvalid
|
||||
end
|
||||
|
||||
if @project.visible?
|
||||
user_assignment.update!(
|
||||
user_role: @project.default_public_user_role,
|
||||
assigned: :automatically
|
||||
)
|
||||
else
|
||||
user_assignment.destroy!
|
||||
end
|
||||
|
||||
propagate_job(user_assignment, destroy: true)
|
||||
log_activity(:unassign_user_from_project, { user_target: user_assignment.user.id,
|
||||
role: user_assignment.user_role.name })
|
||||
|
||||
render json: { flash: t('access_permissions.destroy.success', member_name: escape_input(user.full_name)) },
|
||||
status: :ok
|
||||
render json: { flash: t('access_permissions.destroy.success', member_name: escape_input(user.full_name)) }
|
||||
rescue ActiveRecord::RecordInvalid
|
||||
render json: { flash: t('access_permissions.destroy.failure') },
|
||||
status: :unprocessable_entity
|
||||
|
|
|
@ -65,12 +65,14 @@ module UserAssignments
|
|||
user_assignment = object.user_assignments.find { |ua| ua.user_id == @user.id }
|
||||
return if user_assignment.blank?
|
||||
|
||||
if !object.is_a?(Project) && object.project.visible? && !@remove_from_team
|
||||
project = object.is_a?(Project) ? object : object.project
|
||||
|
||||
if project.visible? && !@remove_from_team
|
||||
# if project is public, the assignment
|
||||
# will reset to the default public role
|
||||
|
||||
user_assignment.update!(
|
||||
user_role_id: object.project.default_public_user_role_id,
|
||||
user_role_id: project.default_public_user_role_id,
|
||||
assigned: :automatically,
|
||||
assigned_by: @assigned_by
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue