diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-09-04 04:13:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-04 04:13:54 +0200 |
commit | 43f56f12917f154fbb70cbc305daba9e2fd364ed (patch) | |
tree | ede54cea5a292db384abf439af4a8cfe008d5fa4 /app/controllers | |
parent | c1e238a77b1f92a031fcb644c2d37809b96e9027 (diff) |
Change account deletion page to have better explanations (#11753)
Fix deletion of unconfirmed account not freeing up the username Add prefill of logged-in user's email in the reconfirmation form
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/auth/confirmations_controller.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/app/controllers/auth/confirmations_controller.rb b/app/controllers/auth/confirmations_controller.rb index 0d7c6e7c2..3e419eb96 100644 --- a/app/controllers/auth/confirmations_controller.rb +++ b/app/controllers/auth/confirmations_controller.rb @@ -4,15 +4,38 @@ class Auth::ConfirmationsController < Devise::ConfirmationsController layout 'auth' before_action :set_body_classes + before_action :require_unconfirmed! skip_before_action :require_functional! + def new + super + + resource.email = current_user.unconfirmed_email || current_user.email if user_signed_in? + end + private + def require_unconfirmed! + redirect_to edit_user_registration_path if user_signed_in? && current_user.confirmed? && current_user.unconfirmed_email.blank? + end + def set_body_classes @body_classes = 'lighter' end + def after_resending_confirmation_instructions_path_for(_resource_name) + if user_signed_in? + if user.confirmed? && user.approved? + edit_user_registration_path + else + auth_setup_path + end + else + new_user_session_path + end + end + def after_confirmation_path_for(_resource_name, user) if user.created_by_application && truthy_param?(:redirect_to_app) user.created_by_application.redirect_uri |