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

@@ -75,5 +75,19 @@
"menu": {
"products_inventory": "Produkte & Inventar",
"all_products": "Alle Produkte"
},
"permissions": {
"products_view": "Produkte anzeigen",
"products_view_desc": "Produktkatalog anzeigen",
"products_create": "Produkte erstellen",
"products_create_desc": "Neue Produkte zum Katalog hinzufügen",
"products_edit": "Produkte bearbeiten",
"products_edit_desc": "Bestehende Produktdetails ändern",
"products_delete": "Produkte löschen",
"products_delete_desc": "Produkte aus dem Katalog entfernen",
"products_import": "Produkte importieren",
"products_import_desc": "Massenimport von Produkten",
"products_export": "Produkte exportieren",
"products_export_desc": "Produktdaten exportieren"
}
}

View File

@@ -46,6 +46,20 @@
"sort_name_az": "Name: A-Z",
"sort_name_za": "Name: Z-A"
},
"permissions": {
"products_view": "View Products",
"products_view_desc": "View the product catalog",
"products_create": "Create Products",
"products_create_desc": "Add new products to the catalog",
"products_edit": "Edit Products",
"products_edit_desc": "Modify existing product details",
"products_delete": "Delete Products",
"products_delete_desc": "Remove products from the catalog",
"products_import": "Import Products",
"products_import_desc": "Bulk import products from files",
"products_export": "Export Products",
"products_export_desc": "Export product data to files"
},
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"product_created_successfully": "Product created successfully",

View File

@@ -75,5 +75,19 @@
"menu": {
"products_inventory": "Produits et Inventaire",
"all_products": "Tous les produits"
},
"permissions": {
"products_view": "Voir les produits",
"products_view_desc": "Voir le catalogue de produits",
"products_create": "Créer des produits",
"products_create_desc": "Ajouter de nouveaux produits au catalogue",
"products_edit": "Modifier les produits",
"products_edit_desc": "Modifier les détails des produits existants",
"products_delete": "Supprimer les produits",
"products_delete_desc": "Retirer des produits du catalogue",
"products_import": "Importer les produits",
"products_import_desc": "Importation en masse de produits",
"products_export": "Exporter les produits",
"products_export_desc": "Exporter les données produits"
}
}

View File

@@ -75,5 +75,19 @@
"menu": {
"products_inventory": "Produkter & Inventar",
"all_products": "All Produkter"
},
"permissions": {
"products_view": "Produiten kucken",
"products_view_desc": "Produitkatalog kucken",
"products_create": "Produiten erstellen",
"products_create_desc": "Nei Produiten an de Katalog derbäisetzen",
"products_edit": "Produiten änneren",
"products_edit_desc": "Bestoend Produitdetailer änneren",
"products_delete": "Produiten läschen",
"products_delete_desc": "Produiten aus dem Katalog ewechhuelen",
"products_import": "Produiten importéieren",
"products_import_desc": "Massenimport vu Produiten",
"products_export": "Produiten exportéieren",
"products_export_desc": "Produitdaten exportéieren"
}
}