diff --git a/src/actions/admin-housekeeping.ts b/src/actions/admin-housekeeping.ts index 09788186..6b31955c 100644 --- a/src/actions/admin-housekeeping.ts +++ b/src/actions/admin-housekeeping.ts @@ -11,21 +11,24 @@ import { prisma } from "@/lib/prisma"; */ async function rejectLegacyHousekeepingWrite(): Promise { await requirePermission(PERMS.SETTINGS_EDIT); - redirectSafe("/admin/permissions?from=housekeeping", "/admin/permissions"); + return redirectSafe( + "/admin/permissions?from=housekeeping", + "/admin/permissions", + ); } export async function upsertPermission(_formData: FormData): Promise { - await rejectLegacyHousekeepingWrite(); + return rejectLegacyHousekeepingWrite(); } export async function deletePermission(_formData: FormData): Promise { - await rejectLegacyHousekeepingWrite(); + return rejectLegacyHousekeepingWrite(); } export async function bulkImportPermissions( _formData: FormData, ): Promise<{ count: number; errors: string[] }> { - await rejectLegacyHousekeepingWrite(); + return rejectLegacyHousekeepingWrite(); } export async function exportPermissions(): Promise { @@ -46,15 +49,15 @@ export async function exportPermissions(): Promise { } export async function applyPreset(_formData: FormData): Promise { - await rejectLegacyHousekeepingWrite(); + return rejectLegacyHousekeepingWrite(); } export async function clearAllPermissions(): Promise { - await rejectLegacyHousekeepingWrite(); + return rejectLegacyHousekeepingWrite(); } export async function bulkDeletePermissions( _ids: bigint[], ): Promise<{ count: number }> { - await rejectLegacyHousekeepingWrite(); + return rejectLegacyHousekeepingWrite(); } diff --git a/src/app/admin/permissions/permissions-list.tsx b/src/app/admin/permissions/permissions-list.tsx index aef41e0c..73ae27f5 100644 --- a/src/app/admin/permissions/permissions-list.tsx +++ b/src/app/admin/permissions/permissions-list.tsx @@ -107,18 +107,18 @@ export function PermissionsList({ className="rounded-lg border border-[var(--admin-warning-border)] bg-[var(--admin-warning-subtle)] px-4 py-3 text-sm" role="status" > - Housekeeping writes are retired. Edit live ACL ranks and permissions - here. + You were sent here from the permission archive. Edit rank access + below — this is the live control panel. ) : null}
-

Live ACL

+

Live access control

- Rank ACL here controls real admin and mod access. The Housekeeping - table is a read-only legacy archive with an ACL compare view. + Changes here decide who can open admin and mod pages. The permission + archive is only for compare/export.

diff --git a/src/messages/en.json b/src/messages/en.json index 8c122229..3a0217ef 100644 --- a/src/messages/en.json +++ b/src/messages/en.json @@ -1086,7 +1086,7 @@ "backToSite": "Back to site", "expandAll": "Expand all", "collapseAll": "Collapse all", - "housekeeping": "Housekeeping (legacy)", + "housekeeping": "Permission archive", "hotelManagementPanel": "Hotel management panel", "rankLabel": "Rank {rank}", "community": "Community", @@ -1657,7 +1657,7 @@ }, "permissions": { "title": "Permissions", - "subtitle": "Manage live ACL ranks and role permissions for admin and mod panels", + "subtitle": "This is the live access control for admin and mod panels", "addPermission": "Add permission", "editPermission": "Edit permission", "deletePermission": "Delete permission", @@ -2538,7 +2538,7 @@ "favicon": "Favicon", "emulator": "Emulator", "email": "Email", - "housekeeping": "Housekeeping (legacy)", + "housekeeping": "Permission archive", "commando": "Commando", "rooms": "Rooms", "import": "Import", @@ -2561,7 +2561,7 @@ "tickets": "Support desk", "ticketsSubtitle": "CMS tickets, help-center tickets, and reply templates", "staffAccess": "Ranks & permissions", - "staffAccessSubtitle": "Staff ranks and live ACL. Housekeeping is legacy reference only.", + "staffAccessSubtitle": "Staff ranks and live access. Archive is compare/export only.", "analytics": "Analytics", "analyticsSubtitle": "Hotel activity, retention and economy", "devops": "DevOps", @@ -2612,8 +2612,8 @@ "confirmDisable": "Disable maintenance mode and restore access for all users?" }, "housekeeping": { - "title": "Housekeeping (legacy)", - "subtitle": "Legacy min-rank table — not used by live ACL checks. Manage real access under Permissions.", + "title": "Permission archive", + "subtitle": "Old backup table. Real access is managed under Permissions — this page is compare + export only.", "addPermission": "Add permission", "editPermission": "Edit permission", "deletePermission": "Delete permission", @@ -2724,10 +2724,10 @@ "auditTarget": "Target", "save": "Save", "importTitle": "Import permissions", - "legacyBannerTitle": "This table is not live ACL", - "legacyBannerBody": "Runtime access uses the ACL permissions system. Use Housekeeping only as a legacy reference.", - "legacyBannerCta": "Open live Permissions", - "writesRetired": "Create/edit/import/presets on this table are disabled. Change live access under Permissions.", + "legacyBannerTitle": "Use Permissions to change who can do what", + "legacyBannerBody": "This archive does not control the site. Open Permissions to grant or revoke access for ranks.", + "legacyBannerCta": "Open Permissions", + "writesRetired": "Editing here is disabled on purpose. Change access only in Permissions.", "tabCompare": "ACL compare", "tabExportOnly": "Export archive", "compareHint": "Compares legacy housekeeping min-rank rows to live ACL rank_* role grants (lowest rank that has the slug).", diff --git a/src/messages/it.json b/src/messages/it.json index 9f0a2a65..ef7082df 100644 --- a/src/messages/it.json +++ b/src/messages/it.json @@ -1019,7 +1019,7 @@ "devops": "DevOps", "wordFilter": "Filtro parole", "maintenance": "Manutenzione", - "housekeeping": "Housekeeping (legacy)", + "housekeeping": "Archivio permessi", "rooms": "Stanze", "emailTemplates": "Template email", "theme": "Tema", @@ -1613,7 +1613,7 @@ }, "permissions": { "title": "Permessi", - "subtitle": "Gestisci gradi e permessi ACL live per pannelli admin e mod", + "subtitle": "Questo e il controllo accessi live per pannelli admin e mod", "addPermission": "Aggiungi permesso", "editPermission": "Modifica permesso", "deletePermission": "Elimina permesso", @@ -2459,8 +2459,8 @@ "confirmDisable": "Disattivare la modalità manutenzione e ripristinare l'accesso per tutti gli utenti?" }, "housekeeping": { - "title": "Housekeeping (legacy)", - "subtitle": "Tabella min-rank legacy — non usata dai controlli ACL attivi. Gestisci l'accesso reale in Permessi.", + "title": "Archivio permessi", + "subtitle": "Vecchia tabella di backup. L'accesso reale si gestisce in Permessi — qui solo confronto ed export.", "addPermission": "Aggiungi permesso", "editPermission": "Modifica permesso", "deletePermission": "Elimina permesso", @@ -2571,10 +2571,10 @@ "selectAllMatching": "Select all {count} matching", "save": "Save", "importTitle": "Import permissions", - "legacyBannerTitle": "Questa tabella non e ACL live", - "legacyBannerBody": "L'accesso runtime usa il sistema ACL. Usa Housekeeping solo come riferimento legacy.", - "legacyBannerCta": "Apri Permessi live", - "writesRetired": "Create/modifica/import/preset su questa tabella sono disabilitati. Cambia l'accesso live in Permessi.", + "legacyBannerTitle": "Per cambiare chi puo fare cosa usa Permessi", + "legacyBannerBody": "Questo archivio non controlla il sito. Apri Permessi per dare o togliere accesso ai gradi.", + "legacyBannerCta": "Apri Permessi", + "writesRetired": "Qui non si modifica piu nulla di proposito. Cambia l'accesso solo in Permessi.", "tabCompare": "Confronto ACL", "tabExportOnly": "Esporta archivio", "compareHint": "Confronta le righe legacy housekeeping con i grant ACL live rank_* (grado minimo con lo slug).", @@ -2790,7 +2790,7 @@ "favicon": "Favicon", "emulator": "Emulator", "email": "Email", - "housekeeping": "Housekeeping (legacy)", + "housekeeping": "Archivio permessi", "commando": "Commando", "rooms": "Stanze", "import": "Import", @@ -2813,7 +2813,7 @@ "tickets": "Assistenza", "ticketsSubtitle": "Ticket CMS, ticket centro assistenza e template risposte", "staffAccess": "Gradi e permessi", - "staffAccessSubtitle": "Gradi staff e ACL live. Housekeeping e solo riferimento legacy.", + "staffAccessSubtitle": "Gradi staff e accesso live. L'archivio e solo confronto/export.", "analytics": "Analitiche", "analyticsSubtitle": "Attività hotel, retention ed economia", "devops": "DevOps", diff --git a/src/messages/nl.json b/src/messages/nl.json index 09cc7050..59569519 100644 --- a/src/messages/nl.json +++ b/src/messages/nl.json @@ -1077,7 +1077,7 @@ "backToSite": "Terug naar site", "expandAll": "Alles openen", "collapseAll": "Alles sluiten", - "housekeeping": "Housekeeping (legacy)", + "housekeeping": "Permissie-archief", "hotelManagementPanel": "Hotelbeheerpaneel", "rankLabel": "Rang {rank}", "hubNewsMedia": "News & media", @@ -1589,7 +1589,7 @@ }, "permissions": { "title": "Permissies", - "subtitle": "Beheer live ACL-rangen en rolrechten voor admin- en mod-panelen", + "subtitle": "Dit is de live toegangscontrole voor admin- en mod-panelen", "addPermission": "Permissie toevoegen", "editPermission": "Permissie bewerken", "deletePermission": "Permissie verwijderen", @@ -2434,8 +2434,8 @@ "confirmDisable": "Onderhoudsmodus uitschakelen en toegang herstellen voor alle gebruikers?" }, "housekeeping": { - "title": "Housekeeping (legacy)", - "subtitle": "Legacy min-rank tabel — niet gebruikt door live ACL. Beheer echte toegang via Permissions.", + "title": "Permissie-archief", + "subtitle": "Oude back-uptabel. Echte toegang beheert u onder Permissions — hier alleen vergelijken en exporteren.", "addPermission": "Permissie toevoegen", "editPermission": "Permissie bewerken", "deletePermission": "Permissie verwijderen", @@ -2546,10 +2546,10 @@ "auditTarget": "Doel", "save": "Opslaan", "importTitle": "Permissies importeren", - "legacyBannerTitle": "Deze tabel is geen live ACL", - "legacyBannerBody": "Runtime-toegang gebruikt het ACL-systeem. Gebruik Housekeeping alleen als legacy-referentie.", - "legacyBannerCta": "Open live Permissions", - "writesRetired": "Aanmaken/bewerken/import/presets op deze tabel zijn uitgeschakeld. Wijzig live toegang onder Permissions.", + "legacyBannerTitle": "Gebruik Permissions om te bepalen wie wat mag", + "legacyBannerBody": "Dit archief bestuurt de site niet. Open Permissions om toegang voor rangen te geven of in te trekken.", + "legacyBannerCta": "Open Permissions", + "writesRetired": "Bewerken hier is expres uitgeschakeld. Wijzig toegang alleen in Permissions.", "tabCompare": "ACL vergelijking", "tabExportOnly": "Exporteer archief", "compareHint": "Vergelijkt legacy housekeeping min-rank rijen met live ACL rank_* grants (laagste rang met de slug).", @@ -2856,7 +2856,7 @@ "favicon": "Favicon", "emulator": "Emulator", "email": "E-mail", - "housekeeping": "Housekeeping (legacy)", + "housekeeping": "Permissie-archief", "commando": "Commando", "rooms": "Kamers", "import": "Import", @@ -2879,7 +2879,7 @@ "tickets": "Supportbalie", "ticketsSubtitle": "CMS-tickets, helpcentrum-tickets en antwoordtemplates", "staffAccess": "Rangen & rechten", - "staffAccessSubtitle": "Staffrangen en live ACL. Housekeeping is alleen legacy-referentie.", + "staffAccessSubtitle": "Staffrangen en live toegang. Archief is alleen vergelijken/exporteren.", "analytics": "Analytics", "analyticsSubtitle": "Hotelactiviteit, retentie en economie", "devops": "DevOps",