feat: Organisations admin screen with the avatar and the members manager

- controller golem15.user.organisations behind golem15.users.access_users
- list and form (name, slug preset from the name, description, avatar)
- members relation manager: link sets and unlink clears users.organisation_id
- deleting an organisation releases its members first
- Organisation gains Fillable, Rules, MorphName, AttachRelations, BeforeValidate
  and the Members relation; models.Slugify
- navigation side item organisations
- TestAdminOrganisations, TestAdminOrganisationMembers, TestSlugify
This commit is contained in:
Jakub Zych
2026-10-05 13:58:54 +02:00
parent a3992879db
commit 58595fef27
16 changed files with 828 additions and 5 deletions

View File

@@ -96,4 +96,20 @@ groups:
privileged_forbidden: You do not have permission to create, re-code or delete a privileged group. Nothing was saved.
organisation:
label: Organisation
label_plural: Organisations
menu_label: Organisations
id: ID
name: Name
slug: Slug
slug_comment: Auto-generated from the name if left blank.
slug_invalid: The slug may only contain letters, numbers, dashes and underscores.
description: Description
avatar: Avatar
members: Members
new: New Organisation
list_empty: No organisations yet. Create the first one with New Organisation.
add_member: Add member
remove_members: Remove selected
remove_members_confirm: Remove the selected (:count) from this organisation? The users are not deleted.
members_empty: This organisation has no members yet. Add users with Add member.
empty_organisation: — No organisation —

View File

@@ -96,4 +96,20 @@ groups:
privileged_forbidden: Nie masz uprawnień do tworzenia, zmiany kodu ani usuwania grup uprzywilejowanych. Nic nie zostało zapisane.
organisation:
label: Organizacja
label_plural: Organizacje
menu_label: Organizacje
id: ID
name: Nazwa
slug: Identyfikator
slug_comment: Generowany automatycznie z nazwy, jeśli pozostawiony pusty.
slug_invalid: Identyfikator może zawierać tylko litery, cyfry, myślniki i podkreślenia.
description: Opis
avatar: Awatar
members: Członkowie
new: Nowa organizacja
list_empty: Brak organizacji. Utwórz pierwszą przyciskiem Nowa organizacja.
add_member: Dodaj członka
remove_members: Usuń zaznaczonych
remove_members_confirm: Usunąć zaznaczonych (:count) z tej organizacji? Użytkownicy nie zostaną usunięci.
members_empty: Ta organizacja nie ma jeszcze członków. Dodaj użytkowników przyciskiem Dodaj członka.
empty_organisation: — Brak organizacji —