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

@@ -0,0 +1,14 @@
scopes:
groups:
label: golem15.user::lang.group.label
modelClass: Golem15\User\Models\UserGroup
nameFrom: name
scope: filterByGroup
created_date:
label: golem15.user::lang.user.created_at
type: daterange
column: created_at
activated:
label: golem15.user::lang.user.status_activated
type: switch
column: is_activated

View File

@@ -0,0 +1,14 @@
name: golem15.user::lang.user.label
form: ~/plugins/golem15/user/models/user/fields.yaml
modelClass: Golem15\User\Models\User
defaultRedirect: golem15/user/users
update:
redirect: golem15/user/users/update/:id
redirectClose: golem15/user/users
messages:
update: backend::lang.messages.form.update
saved: backend::lang.messages.form.saved
deleteConfirm: golem15.user::lang.users.delete_confirm
deleted: backend::lang.messages.form.deleted

View File

@@ -0,0 +1,20 @@
list: ~/plugins/golem15/user/models/user/columns.yaml
modelClass: Golem15\User\Models\User
title: golem15.user::lang.users.list_title
recordUrl: golem15/user/users/update/:id
noRecordsMessage: backend::lang.list.no_records
recordsPerPage: 20
showCheckboxes: true
showSetup: true
filter: config_filter.yaml
toolbar:
buttons: []
search:
prompt: backend::lang.list.search_prompt
messages:
empty: golem15.user::lang.users.list_empty
rowStateDeleted: golem15.user::lang.users.state_deactivated
rowStateNegative: golem15.user::lang.users.state_banned
rowStateDisabled: golem15.user::lang.users.state_not_activated