Move auth config helpers to AuthenticationConfiguration class (#4340)

This commit is contained in:
Dylan M. Taylor 2026-03-30 20:29:26 -04:00 committed by GitHub
parent 603c432e18
commit ef4d7cfc3a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 12 deletions

View File

@ -203,25 +203,15 @@ class GlobalMenu(AbstractMenu[None]):
item = self._item_group.find_by_key(s)
return item.has_value()
def has_superuser() -> bool:
if auth_config and auth_config.users:
return any([u.sudo for u in auth_config.users])
return False
def has_regular_user() -> bool:
if auth_config and auth_config.users:
return len(auth_config.users) > 0
return False
missing = set()
if (auth_config is None or auth_config.root_enc_password is None) and not has_superuser():
if (auth_config is None or auth_config.root_enc_password is None) and not (auth_config and auth_config.has_superuser()):
missing.add(
tr('Either root-password or at least 1 user with sudo privileges must be specified'),
)
# These greeters only show users with UID >= 1000 and have no manual login by default
if not has_regular_user():
if not (auth_config and auth_config.has_regular_user()):
profile_item: MenuItem = self._item_group.find_by_key('profile_config')
profile_config: ProfileConfiguration | None = profile_item.value

View File

@ -82,3 +82,9 @@ class AuthenticationConfiguration:
config['u2f_config'] = self.u2f_config.json()
return config
def has_superuser(self) -> bool:
return any(u.sudo for u in self.users)
def has_regular_user(self) -> bool:
return len(self.users) > 0