Confirmation Emails: Add way to resend (#287)

* Add way to resend confirmation email.

* Resend confirmation email if user sets it to the same as pending

* I10n: No pending email change
This commit is contained in:
Dylan Corrales
2025-11-04 17:11:26 -05:00
committed by GitHub
parent 6f1b651b80
commit 2064d7e374
5 changed files with 22 additions and 2 deletions

View File

@@ -45,7 +45,6 @@ class User < ApplicationRecord
def initiate_email_change(new_email)
return false if new_email == email
return false if new_email == unconfirmed_email
if Rails.application.config.app_mode.self_hosted? && !Setting.require_email_confirmation
update(email: new_email)
@@ -59,6 +58,15 @@ class User < ApplicationRecord
end
end
def resend_confirmation_email
if pending_email_change?
EmailConfirmationMailer.with(user: self).confirmation_email.deliver_later
true
else
false
end
end
def request_impersonation_for(user_id)
impersonated = User.find(user_id)
impersonator_support_sessions.create!(impersonated: impersonated)