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

@@ -80,5 +80,15 @@
"statistics": "Statistiken",
"overview": "Übersicht",
"settings": "Einstellungen"
},
"permissions": {
"view_programs": "Programme anzeigen",
"view_programs_desc": "Treueprogramme und Details anzeigen",
"manage_programs": "Programme verwalten",
"manage_programs_desc": "Treueprogramme erstellen und konfigurieren",
"view_rewards": "Prämien anzeigen",
"view_rewards_desc": "Prämien und Einlösungen anzeigen",
"manage_rewards": "Prämien verwalten",
"manage_rewards_desc": "Treueprämien erstellen und verwalten"
}
}

View File

@@ -69,6 +69,16 @@
"pin_locked": "PIN locked due to too many failed attempts"
}
},
"permissions": {
"view_programs": "View Programs",
"view_programs_desc": "View loyalty programs and details",
"manage_programs": "Manage Programs",
"manage_programs_desc": "Create and configure loyalty programs",
"view_rewards": "View Rewards",
"view_rewards_desc": "View loyalty rewards and redemptions",
"manage_rewards": "Manage Rewards",
"manage_rewards_desc": "Create and manage loyalty rewards"
},
"menu": {
"loyalty": "Loyalty",
"loyalty_programs": "Loyalty Programs",

View File

@@ -80,5 +80,15 @@
"statistics": "Statistiques",
"overview": "Aperçu",
"settings": "Paramètres"
},
"permissions": {
"view_programs": "Voir les programmes",
"view_programs_desc": "Voir les programmes de fidélité et leurs détails",
"manage_programs": "Gérer les programmes",
"manage_programs_desc": "Créer et configurer les programmes de fidélité",
"view_rewards": "Voir les récompenses",
"view_rewards_desc": "Voir les récompenses et les échanges",
"manage_rewards": "Gérer les récompenses",
"manage_rewards_desc": "Créer et gérer les récompenses de fidélité"
}
}

View File

@@ -80,5 +80,15 @@
"statistics": "Statistiken",
"overview": "Iwwersiicht",
"settings": "Astellungen"
},
"permissions": {
"view_programs": "Programmer kucken",
"view_programs_desc": "Treiheet-Programmer an Detailer kucken",
"manage_programs": "Programmer verwalten",
"manage_programs_desc": "Treiheet-Programmer erstellen a konfiguréieren",
"view_rewards": "Beloununge kucken",
"view_rewards_desc": "Belounungen an Aléisunge kucken",
"manage_rewards": "Beloununge verwalten",
"manage_rewards_desc": "Treiheet-Belounungen erstellen a verwalten"
}
}