feat: create users with a password and an invitation in the admin

- password with confirmation on create, optional reset on update that
  ends the user's sessions; the hash is never returned
- send_invite sends one invitation with an activation link after the
  create commits
- organisation picker, avatar upload shared with the user API and the
  frontend permission editor on the user form
- an email held by a deactivated user answers 422 instead of failing
  on the unique constraint
- the privileged-member guard now also refuses a submitted password
This commit is contained in:
Jakub Zych
2026-10-05 13:21:51 +02:00
parent cdea47a178
commit f7ca3c4f59
12 changed files with 1080 additions and 16 deletions

View File

@@ -3,6 +3,10 @@ form: ~/plugins/golem15/user/models/user/fields.yaml
modelClass: Golem15\User\Models\User
defaultRedirect: golem15/user/users
create:
redirect: golem15/user/users/preview/:id
redirectClose: golem15/user/users
update:
redirect: golem15/user/users/update/:id
redirectClose: golem15/user/users/preview/:id
@@ -13,6 +17,7 @@ preview:
recordActions: [activate, unban, unsuspend]
messages:
create: golem15.user::lang.users.new_user
update: backend::lang.messages.form.update
saved: backend::lang.messages.form.saved
deleteConfirm: golem15.user::lang.users.delete_confirm

View File

@@ -9,13 +9,14 @@ showSetup: true
filter: config_filter.yaml
toolbar:
buttons: [delete]
buttons: [create, delete]
search:
prompt: backend::lang.list.search_prompt
bulkActions: [activate, deactivate, restore, ban, unban]
messages:
create: golem15.user::lang.users.new_user
empty: golem15.user::lang.users.list_empty
deleteConfirm: golem15.user::lang.users.delete_selected_confirm
deleted: backend::lang.messages.list.deleted