feat(tenancy): add merchant team CRUD with multi-store hub view
The merchant team page was read-only. Now merchant owners can invite, edit roles, and remove team members across all their stores from a single hub view. Architecture: No new models — delegates to existing store_team_service. Members are deduplicated across stores with per-store role badges. New: - 5 API endpoints: GET team (member-centric), GET store roles, POST invite (multi-store), PUT update role, DELETE remove member - merchant-team.js Alpine component with invite/edit/remove modals - Full CRUD template with stats cards, store filter, member table - 7 Pydantic schemas for merchant team request/response - 2 service methods: validate_store_ownership, get_merchant_team_members - 25 new i18n keys across 4 tenancy locales + 1 core common key Tests: 434 tenancy tests passing, arch-check green. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
"saving": "Speichern...",
|
||||
"processing": "Verarbeiten...",
|
||||
"searching": "Suchen...",
|
||||
"sending": "Wird gesendet",
|
||||
"refresh": "Aktualisieren",
|
||||
"retry": "Erneut versuchen",
|
||||
"view": "Ansehen",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"saving": "Saving...",
|
||||
"processing": "Processing...",
|
||||
"searching": "Searching...",
|
||||
"sending": "Sending",
|
||||
"refresh": "Refresh",
|
||||
"retry": "Retry",
|
||||
"view": "View",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"saving": "Enregistrement...",
|
||||
"processing": "Traitement...",
|
||||
"searching": "Recherche...",
|
||||
"sending": "Envoi en cours",
|
||||
"refresh": "Actualiser",
|
||||
"retry": "Réessayer",
|
||||
"view": "Voir",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"saving": "Späicheren...",
|
||||
"processing": "Veraarbechten...",
|
||||
"searching": "Sichen...",
|
||||
"sending": "Gëtt geschéckt",
|
||||
"refresh": "Aktualiséieren",
|
||||
"retry": "Nach eng Kéier probéieren",
|
||||
"view": "Kucken",
|
||||
|
||||
Reference in New Issue
Block a user