Fix account activation being triggered before email confirmation (#23245)
* Add tests * Fix account activation being triggered before email confirmation Fixes #23098
This commit is contained in:
parent
4725191d3c
commit
6883fddb19
2 changed files with 152 additions and 10 deletions
|
@ -195,10 +195,16 @@ class User < ApplicationRecord
|
|||
|
||||
super
|
||||
|
||||
if new_user && approved?
|
||||
prepare_new_user!
|
||||
elsif new_user
|
||||
notify_staff_about_pending_account!
|
||||
if new_user
|
||||
# Avoid extremely unlikely race condition when approving and confirming
|
||||
# the user at the same time
|
||||
reload unless approved?
|
||||
|
||||
if approved?
|
||||
prepare_new_user!
|
||||
else
|
||||
notify_staff_about_pending_account!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -209,7 +215,13 @@ class User < ApplicationRecord
|
|||
skip_confirmation!
|
||||
save!
|
||||
|
||||
prepare_new_user! if new_user && approved?
|
||||
if new_user
|
||||
# Avoid extremely unlikely race condition when approving and confirming
|
||||
# the user at the same time
|
||||
reload unless approved?
|
||||
|
||||
prepare_new_user! if approved?
|
||||
end
|
||||
end
|
||||
|
||||
def update_sign_in!(new_sign_in: false)
|
||||
|
@ -260,7 +272,11 @@ class User < ApplicationRecord
|
|||
return if approved?
|
||||
|
||||
update!(approved: true)
|
||||
prepare_new_user!
|
||||
|
||||
# Avoid extremely unlikely race condition when approving and confirming
|
||||
# the user at the same time
|
||||
reload unless confirmed?
|
||||
prepare_new_user! if confirmed?
|
||||
end
|
||||
|
||||
def otp_enabled?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue