feat(admin): extend housekeeping permissions page with groups, presets, audit, test, import/export, rank overview and dependency tracking
Local Build and Deploy / deploy (push) Successful in 1m14s

- Add group_name, depends_on and updated_by columns to website_housekeeping_permissions
- Add migration 0016 for new columns
- Rewrite housekeeping page with 7 tabs: Overview, Manage, Import/Export, Rank overview, Presets, Test, Audit log
- Add permission groups/categories with filtering
- Add bulk JSON import/export
- Add rank overview grouped by permission category
- Add permission presets for Moderator (rank 5), Admin (rank 7), Super Admin (rank 8)
- Add audit logging for all permission changes via AdminAuditLog
- Add test mode to check permissions by rank
- Add dependency tracking with warnings for missing dependencies
- Add overview dashboard with statistics
- Add Dutch and English translations for all new features
This commit is contained in:
openhands committed 2026-07-17 19:02:23 +02:00
1 parent 49d204e85c
commit 98d4b715df
7 files changed
+1636 -220

No files matched your search

+65 -1
View File
@@ -1879,7 +1879,71 @@
"save": "Permissie opslaan",
"saving": "Opslaan…",
"cancel": "Annuleren"
}
},
"confirmClearAll": "ALLE permissies verwijderen? Dit kan niet ongedaan worden gemaakt!",
"colGroup": "Groep",
"colDepends": "Afhankelijk van",
"colPermission": "Permissie",
"colDescription": "Omschrijving",
"colMinRank": "Min. rang",
"permissionKey": "Permissiesleutel",
"minRank": "Min. rang",
"description": "Omschrijving",
"permissions": "Permissies",
"permissionsCount": "{count} permissies",
"permission": "permissie",
"highestMinRank": "Hoogste min. rang: {rank}",
"totalMinRank": "Totale min. rang som: {total}",
"groupCount": "{count} groepen",
"rankCount": "{count} rangen",
"missingDeps": "{count} ontbrekende afhankelijkheden",
"dependsOn": "afhankelijk van",
"notFound": "niet gevonden",
"missing": "(ontbreekt)",
"rank": "Rang",
"count": "Aantal",
"searchPermission": "Zoek permissies…",
"search": "Zoeken",
"manage": "Beheer",
"importSelection": "Importeer selectie",
"noGroup": "Geen groep",
"allGroups": "Alle groepen",
"perGroup": "Permissies per groep",
"perRank": "Permissies per rang",
"rankOverviewHint": "Alle permissies gegroepeerd per rang.",
"tabOverview": "Overzicht",
"tabManage": "Beheer",
"tabImport": "Importeren / Exporteren",
"tabRanks": "Rangenoverzicht",
"tabPresets": "Presets",
"tabTest": "Test",
"tabAudit": "Auditlog",
"importPermissions": "Permissies importeren",
"importHint": "Plak een JSON-array met permissie-objecten. Formaat: [{ \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" }]",
"importPlaceholder": "Plak JSON hier…",
"import": "Importeren",
"exportTitle": "Permissies exporteren",
"exportHint": "Exporteer alle permissies als JSON voor backup of bulkbewerking.",
"export": "Exporteer JSON",
"copy": "Kopiëren",
"copied": "Gekopieerd!",
"presets": "Permissie-presets",
"presetsHint": "Pas een vooraf gedefinieerde set permissies toe voor veelvoorkomende staffrollen.",
"presetModerator": "Moderator",
"presetModeratorDesc": "Basis moderatie tools: gebruikers zoeken, bans, CFH afhandeling, chatlogs.",
"presetAdmin": "Administrator",
"presetAdminDesc": "Volledige admin-toegang: gebruikers, kamers, nieuws, instellingen, winkel, events, radio & meer.",
"presetSuperAdmin": "Super Admin",
"presetSuperAdminDesc": "Volledige toegang tot alle functies inclusief permissiebeheer en asset-import.",
"applyPreset": "Pas preset toe",
"clearAll": "Verwijder alle permissies",
"testTitle": "Test rangtoegang",
"testHint": "Voer een rangnummer in om te zien welke permissies zouden worden toegekend.",
"test": "Test",
"auditTitle": "Permissie auditlog",
"auditHint": "Alle wijzigingen aan housekeeping permissies worden gelogd.",
"auditLogsAt": "Auditlogs zijn beschikbaar op de Auditlog-pagina.",
"viewAuditLogs": "Bekijk auditlogs"
},
"rooms": {
"title": "Kamers",