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

@@ -79,5 +79,15 @@
"store_operations": "Shop-Betrieb",
"sales_orders": "Verkäufe & Bestellungen",
"orders": "Bestellungen"
},
"permissions": {
"orders_view": "Bestellungen anzeigen",
"orders_view_desc": "Bestellliste und Details anzeigen",
"orders_edit": "Bestellungen bearbeiten",
"orders_edit_desc": "Bestellstatus und Details aktualisieren",
"orders_cancel": "Bestellungen stornieren",
"orders_cancel_desc": "Ausstehende oder in Bearbeitung befindliche Bestellungen stornieren",
"orders_refund": "Bestellungen erstatten",
"orders_refund_desc": "Rückerstattungen für Bestellungen verarbeiten"
}
}

View File

@@ -37,6 +37,16 @@
"set_tracking": "Set Tracking",
"view_details": "View Details"
},
"permissions": {
"orders_view": "View Orders",
"orders_view_desc": "View order list and details",
"orders_edit": "Edit Orders",
"orders_edit_desc": "Update order status and details",
"orders_cancel": "Cancel Orders",
"orders_cancel_desc": "Cancel pending or processing orders",
"orders_refund": "Refund Orders",
"orders_refund_desc": "Process refunds for orders"
},
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",

View File

@@ -79,5 +79,15 @@
"store_operations": "Opérations du magasin",
"sales_orders": "Ventes et Commandes",
"orders": "Commandes"
},
"permissions": {
"orders_view": "Voir les commandes",
"orders_view_desc": "Voir la liste et les détails des commandes",
"orders_edit": "Modifier les commandes",
"orders_edit_desc": "Mettre à jour le statut et les détails des commandes",
"orders_cancel": "Annuler les commandes",
"orders_cancel_desc": "Annuler les commandes en attente ou en traitement",
"orders_refund": "Rembourser les commandes",
"orders_refund_desc": "Traiter les remboursements des commandes"
}
}

View File

@@ -79,5 +79,15 @@
"store_operations": "Buttek-Operatiounen",
"sales_orders": "Verkaf & Bestellungen",
"orders": "Bestellungen"
},
"permissions": {
"orders_view": "Bestellunge kucken",
"orders_view_desc": "Bestelllëscht an Detailer kucken",
"orders_edit": "Bestellungen änneren",
"orders_edit_desc": "Bestellstatus an Detailer aktualiséieren",
"orders_cancel": "Bestellungen stornéieren",
"orders_cancel_desc": "Aussteesend oder a Veraarbechtung Bestellunge stornéieren",
"orders_refund": "Bestellungen erstatten",
"orders_refund_desc": "Réckerstattunge fir Bestellunge veraarbechten"
}
}