feat: register the Users admin screen with the privileged-member guard

- permissions (the four Winter codes and manage_privileged_groups),
  the user navigation item and the embedded admin YAML
- Users controller: list with deactivated users, row states, the
  groups, created date and activated filters, and the form's name,
  surname and email
- a member of a group in golem15.user.privileged_groups (default
  admin) keeps their email, password and row unless the administrator
  holds golem15.users.manage_privileged_groups; the refusal is a 403
  that saves nothing
This commit is contained in:
Jakub Zych
2026-10-05 13:01:18 +02:00
parent e22f7660f3
commit b410a7fea9
17 changed files with 739 additions and 2 deletions

View File

@@ -1,3 +1,34 @@
account:
invalid_login: Invalid email or password
no_avatar: Your account has no display picture to remove.
plugin:
tab: Users
access_users: Manage Users
access_groups: Manage User Groups
access_settings: Manage User Settings
impersonate_user: Impersonate Users
manage_privileged_groups: Manage privileged group membership
users:
menu_label: Users
list_title: Manage Users
list_empty: No users match this view. Clear the filters, or add one with New User.
state_deactivated: Deactivated
state_banned: Banned
state_not_activated: Not activated
delete_confirm: Do you really want to delete this user? This user will be permanently removed and unrecoverable.
privileged_member_forbidden: This user belongs to a privileged group. You do not have permission to change their email or password. Nothing was saved.
privileged_member_delete_forbidden: Users who belong to a privileged group cannot be deleted without the permission to manage privileged groups. Nothing was deleted.
user:
label: User
id: ID
name: Name
surname: Surname
email: Email
account: Account
created_at: Registered
last_seen: Last seen
created_ip_address: Created IP Address
last_ip_address: Last IP Address
status_activated: Activated
group:
label: Group

View File

@@ -1,3 +1,34 @@
account:
invalid_login: Nieprawidłowy email lub hasło
no_avatar: Brak avatara
plugin:
tab: Użytkownicy
access_users: Zarządzaj użytkownikami
access_groups: Zarządzaj grupami użytkowników
access_settings: Zarządzaj ustawieniami użytkownika
impersonate_user: Wcielaj się w użytkowników
manage_privileged_groups: Zarządzaj członkostwem w grupach uprzywilejowanych
users:
menu_label: Użytkownicy
list_title: Zarządzaj użytkownikami
list_empty: Brak użytkowników w tym widoku. Wyczyść filtry lub dodaj użytkownika przyciskiem Nowy użytkownik.
state_deactivated: Dezaktywowany
state_banned: Zbanowany
state_not_activated: Nieaktywowany
delete_confirm: Czy na pewno chcesz usunąć tego użytkownika? Zostanie trwale usunięty bez możliwości odzyskania.
privileged_member_forbidden: Ten użytkownik należy do grupy uprzywilejowanej. Nie masz uprawnień do zmiany jego adresu e-mail ani hasła. Nic nie zostało zapisane.
privileged_member_delete_forbidden: Użytkowników należących do grupy uprzywilejowanej nie można usunąć bez uprawnienia do zarządzania grupami uprzywilejowanymi. Nic nie zostało usunięte.
user:
label: Użytkownik
id: ID
name: Imię / nick
surname: Nazwisko
email: Email
account: Konto
created_at: Zarejestrowany
last_seen: Ostatnio widziany
created_ip_address: Stworzono z IP
last_ip_address: Ostatnie IP
status_activated: Aktywowany
group:
label: Grupa