feat(roles): add admin store roles page, permission i18n, and menu integration
Some checks failed
CI / ruff (push) Successful in 9s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has started running

- Add admin store roles page with merchant→store cascading for superadmin
  and store-only selection for platform admin
- Add permission catalog API with translated labels/descriptions (en/fr/de/lb)
- Add permission translations to all 15 module locale files (60 files total)
- Add info icon tooltips for permission descriptions in role editor
- Add store roles menu item and admin menu item in module definition
- Fix store-selector.js URL construction bug when apiEndpoint has query params
- Add admin store roles API (CRUD + platform scoping)
- Add integration tests for admin store roles and permission catalog

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 23:31:27 +01:00
parent 2b55e7458b
commit f95db7c0b1
83 changed files with 3491 additions and 513 deletions

View File

@@ -37,5 +37,15 @@
"customers_section": "Kunden",
"customers": "Kunden",
"all_customers": "Alle Kunden"
},
"permissions": {
"customers_view": "Kunden anzeigen",
"customers_view_desc": "Kundenliste und Details anzeigen",
"customers_edit": "Kunden bearbeiten",
"customers_edit_desc": "Kundeninformationen ändern",
"customers_delete": "Kunden löschen",
"customers_delete_desc": "Kundendatensätze entfernen",
"customers_export": "Kunden exportieren",
"customers_export_desc": "Kundendaten exportieren"
}
}

View File

@@ -18,6 +18,16 @@
"no_customers": "No customers found",
"search_customers": "Search customers..."
},
"permissions": {
"customers_view": "View Customers",
"customers_view_desc": "View customer list and details",
"customers_edit": "Edit Customers",
"customers_edit_desc": "Modify customer information",
"customers_delete": "Delete Customers",
"customers_delete_desc": "Remove customer records",
"customers_export": "Export Customers",
"customers_export_desc": "Export customer data to files"
},
"messages": {
"failed_to_toggle_customer_status": "Failed to toggle customer status",
"failed_to_load_customer_details": "Failed to load customer details",

View File

@@ -37,5 +37,15 @@
"customers_section": "Clients",
"customers": "Clients",
"all_customers": "Tous les clients"
},
"permissions": {
"customers_view": "Voir les clients",
"customers_view_desc": "Voir la liste et les détails des clients",
"customers_edit": "Modifier les clients",
"customers_edit_desc": "Modifier les informations client",
"customers_delete": "Supprimer les clients",
"customers_delete_desc": "Supprimer les fiches clients",
"customers_export": "Exporter les clients",
"customers_export_desc": "Exporter les données clients"
}
}

View File

@@ -37,5 +37,15 @@
"customers_section": "Clienten",
"customers": "Clienten",
"all_customers": "All Clienten"
},
"permissions": {
"customers_view": "Clienten kucken",
"customers_view_desc": "Clientelëscht an Detailer kucken",
"customers_edit": "Clienten änneren",
"customers_edit_desc": "Clienteninformatiounen änneren",
"customers_delete": "Clienten läschen",
"customers_delete_desc": "Clientedossieren ewechhuelen",
"customers_export": "Clienten exportéieren",
"customers_export_desc": "Clientedaten exportéieren"
}
}