Compare commits

..

2 Commits

Author SHA1 Message Date
gitea-actions fa47517028 chore: bump version to v0.1.64
Auto Tag Develop / tag (push) Successful in 8s
Build & Push Docker Image / build (push) Successful in 49s
2026-06-02 09:37:59 +00:00
tristan 402c83d40d feat(front) : i18n + cles M1 repertoire clients (#43)
Auto Tag Develop / tag (push) Successful in 10s
ERP-61 (1.8) — Socle i18n du module M1 Repertoire clients.

## Perimetre
- Ajout du sous-objet `commercial.clients` dans `frontend/i18n/locales/fr.json` : title, add, export, empty, column.* (6), tab.* (8), action.* (3), toast.* (5), validation.* (9 messages miroirs RG-1.04/1.10/1.11/1.12/1.13/1.14/1.20/1.21/1.29).
- Item sidebar deja porte par le back (`config/sidebar.php`, route /clients, permission commercial.clients.view) — aucun code front en dur. Usine sans `view` => item masque automatiquement.
- Cles existantes (sidebar.commercial.clients, commercial.title/welcome) non dupliquees.

## Verifications
- JSON valide, indentation 4 espaces, aucune cle dupliquee.
- `make nuxt-test` : 103/103 OK (usePermissions / useSidebar verts).
- Pas de E2E (regle n7).

Pre-requis de 1.9 (ERP-62).

Reviewed-on: #43
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-06-02 09:37:49 +00:00
2 changed files with 49 additions and 2 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
parameters: parameters:
app.version: '0.1.63' app.version: '0.1.64'
+48 -1
View File
@@ -44,7 +44,54 @@
}, },
"commercial": { "commercial": {
"title": "Commercial", "title": "Commercial",
"welcome": "Module Commercial" "welcome": "Module Commercial",
"clients": {
"title": "Répertoire clients",
"add": "Ajouter",
"export": "Exporter",
"empty": "Aucun client pour l'instant.",
"column": {
"companyName": "Nom entreprise",
"contact": "Contact principal",
"phone": "Téléphone principal",
"email": "Email principal",
"categories": "Catégories",
"sites": "Site(s)"
},
"tab": {
"information": "Information",
"contact": "Contact",
"address": "Adresse",
"transport": "Transport",
"accounting": "Comptabilité",
"statistics": "Statistiques",
"reports": "Rapports",
"exchanges": "Échanges"
},
"action": {
"edit": "Modifier",
"archive": "Archiver",
"restore": "Restaurer"
},
"toast": {
"createSuccess": "Client créé avec succès",
"updateSuccess": "Client mis à jour avec succès",
"archiveSuccess": "Client archivé avec succès",
"restoreSuccess": "Client restauré avec succès",
"error": "Une erreur est survenue. Réessayez."
},
"validation": {
"informationRequiredForCommercial": "Les informations de l'entreprise sont obligatoires pour le rôle Commerciale.",
"contactRequired": "Au moins un contact (nom ou prénom) est obligatoire.",
"siteRequired": "Au moins un site Starseed doit être rattaché à l'adresse.",
"billingEmailRequired": "L'email de facturation est obligatoire pour une adresse de facturation.",
"bankRequiredForTransfer": "La banque est obligatoire pour un règlement par virement.",
"ribRequiredForLcr": "Au moins un RIB complet est obligatoire pour un règlement par LCR.",
"phoneFormat": "Format de téléphone invalide (attendu : XX XX XX XX XX).",
"emailFormat": "Format d'email invalide.",
"addressCategoryForbidden": "Une catégorie « Distributeur » ou « Courtier » ne peut pas qualifier une adresse."
}
}
}, },
"auth": { "auth": {
"login": "Connexion", "login": "Connexion",