diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-08-01 18:38:42 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-08-01 18:38:42 +0200 |
| commit | 45432cba9f524c99015c90b6b6aa381fe2b04984 (patch) | |
| tree | 35345a3efedeaa1bd63db09ff99ac23187c081e3 /app/models | |
| parent | 4175f26cc8b22ff5a07929fa2436c561022cccd2 (diff) | |
Require a second factor for elevation, not for holding admin
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/user.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index c3035a02..4b70ebe5 100644 --- a/app/models/user.rb +++ b/app/models/user.rb | |||
| @@ -242,6 +242,7 @@ class User < ApplicationRecord | |||
| 242 | def admin_needs_second_factor | 242 | def admin_needs_second_factor |
| 243 | return unless roles.include?("admin") | 243 | return unless roles.include?("admin") |
| 244 | return if otp_secret.present? | 244 | return if otp_secret.present? |
| 245 | return if persisted? && roles_in_database.to_a.include?("admin") | ||
| 245 | errors.add(:roles, :admin_needs_otp) | 246 | errors.add(:roles, :admin_needs_otp) |
| 246 | end | 247 | end |
| 247 | end | 248 | end |
