File tree Expand file tree Collapse file tree 3 files changed +10
-5
lines changed
Expand file tree Collapse file tree 3 files changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,9 @@ def generate_password_reset_token
1515 end
1616
1717 def send_password_reset_email ( token :)
18+ return if
19+ managed? # managed users aren't allowed to reset password
20+
1821 UserMailer . password_reset ( user : self , token : token ) . deliver_later
1922 end
2023end
Original file line number Diff line number Diff line change @@ -456,9 +456,11 @@ def free_or_disposable_email?
456456 def single_sign_on_enabled? = !role . user? && account . sso?
457457 alias :sso_enabled? :single_sign_on_enabled?
458458
459- def password?
460- password_digest?
461- end
459+ def password? = password_digest?
460+ def passwordless? = !password?
461+
462+ # NOTE(ezekg) a "managed user" is a passwordless user with the "user" role
463+ def managed? = account . protected? && has_role? ( :user ) && passwordless?
462464
463465 def active? ( t = 90 . days . ago )
464466 created_at >= t || any_active_licenses . any?
Original file line number Diff line number Diff line change @@ -17,9 +17,9 @@ def reset?
1717 verify_permissions! ( 'user.password.reset' )
1818 verify_environment!
1919
20- # User's without a password set cannot reset their password if account is protected
20+ # users without a password set cannot reset their password
2121 deny! if
22- user . has_role? ( :user ) && account . protected? && ! user . password ?
22+ user . managed ?
2323
2424 bearer . nil? || user == bearer
2525 end
You can’t perform that action at this time.
0 commit comments