File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -501,6 +501,22 @@ def transfer_user
501501
502502 # POST /register/r:abc/transfer_user
503503 def transfer_user_commit
504+ username = params . require ( :register ) [ :user ]
505+ user = User . find_by_email_or_username ( username )
506+
507+ if !user . present?
508+ flash [ :alert ] = 'The user could not be found'
509+ render :transfer_user
510+ elsif @register . transfer ( current_user , user )
511+ flash [ :notice ] =
512+ 'List and name(s) successfully transferred to the new user'
513+ redirect_back ( fallback_location : @register )
514+ else
515+ flash [ :alert ] =
516+ 'The list has not been transferred due to a failed check: ' +
517+ @register . status_alert
518+ render :transfer_user
519+ end
504520 end
505521
506522 # GET /registers/r:abc/merge
Original file line number Diff line number Diff line change @@ -273,7 +273,12 @@ def transfer(user, to_user)
273273 end
274274
275275 ActiveRecord ::Base . transaction do
276- names . each { |name | name . transfer ( user , to_user ) }
276+ names . each do |name |
277+ unless name . transfer ( user , to_user )
278+ @status_alert = "#{ name . name } : #{ name . status_alert } "
279+ return false
280+ end
281+ end
277282 update_status_with_alert ( user : to_user ) or return false
278283 end
279284 notify_status_change ( :transfer , user )
You can’t perform that action at this time.
0 commit comments