fix(admin): housekeeping TS returns + clearer permissions UX
Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
75cace41ea
commit
ce6e8235cc
5 files changed
+45
-42
No files matched your search
@@ -11,21 +11,24 @@ import { prisma } from "@/lib/prisma";
|
||||
*/
|
||||
async function rejectLegacyHousekeepingWrite(): Promise<never> {
|
||||
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<void> {
|
||||
await rejectLegacyHousekeepingWrite();
|
||||
return rejectLegacyHousekeepingWrite();
|
||||
}
|
||||
|
||||
export async function deletePermission(_formData: FormData): Promise<void> {
|
||||
await rejectLegacyHousekeepingWrite();
|
||||
return rejectLegacyHousekeepingWrite();
|
||||
}
|
||||
|
||||
export async function bulkImportPermissions(
|
||||
_formData: FormData,
|
||||
): Promise<{ count: number; errors: string[] }> {
|
||||
await rejectLegacyHousekeepingWrite();
|
||||
return rejectLegacyHousekeepingWrite();
|
||||
}
|
||||
|
||||
export async function exportPermissions(): Promise<string> {
|
||||
@@ -46,15 +49,15 @@ export async function exportPermissions(): Promise<string> {
|
||||
}
|
||||
|
||||
export async function applyPreset(_formData: FormData): Promise<void> {
|
||||
await rejectLegacyHousekeepingWrite();
|
||||
return rejectLegacyHousekeepingWrite();
|
||||
}
|
||||
|
||||
export async function clearAllPermissions(): Promise<void> {
|
||||
await rejectLegacyHousekeepingWrite();
|
||||
return rejectLegacyHousekeepingWrite();
|
||||
}
|
||||
|
||||
export async function bulkDeletePermissions(
|
||||
_ids: bigint[],
|
||||
): Promise<{ count: number }> {
|
||||
await rejectLegacyHousekeepingWrite();
|
||||
return rejectLegacyHousekeepingWrite();
|
||||
}
|
||||
@@ -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.
|
||||
</div>
|
||||
) : null}
|
||||
<div
|
||||
className="rounded-lg border border-[var(--admin-info-border)] bg-[var(--admin-info-subtle)] px-4 py-3 text-sm text-[var(--admin-text)]"
|
||||
role="status"
|
||||
>
|
||||
<p className="m-0 font-semibold">Live ACL</p>
|
||||
<p className="m-0 font-semibold">Live access control</p>
|
||||
<p className="m-0 mt-1 text-muted-foreground">
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
+10
-10
@@ -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).",
|
||||
|
||||
+10
-10
@@ -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",
|
||||
|
||||
+10
-10
@@ -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",
|
||||
|
||||
Reference in new issue
Block a user