[ERP-78] Refonte taxonomie Catégories : type unique CLIENT + Category.code + RG-1.03/1.29 par code #42

Merged
malio merged 7 commits from feature/ERP-78-refonte-taxonomie-categories into develop 2026-06-02 08:00:43 +00:00
Showing only changes of commit 8a1ebdc390 - Show all commits
+2 -2
View File
@@ -748,7 +748,7 @@ class Client implements TimestampableInterface, BlamableInterface
- **Security** : `is_granted('commercial.clients.view')`
- **Query params** :
- `includeArchived=true|false` (default `false`)
- `categoryType=<code>` (filtre par type de catégorie via `SearchFilter`)
- `categoryCode=<code>` (filtre les clients ayant ≥ 1 `Category` de ce code stable — ERP-78 ; ex. `DISTRIBUTEUR`, `COURTIER`)
- `search=<text>` (recherche fuzzy sur companyName + lastName + email)
- **Tri par défaut** : `companyName ASC`
- **Pagination** : front via `<MalioDataTable>` (volumétrie cible faible). Pas de pagination serveur au M1.
@@ -963,7 +963,7 @@ Cf. § 2.6. Pattern Shared standard.
- [ ] **RG-1.01** : POST sans firstName ni lastName → 422
- [ ] **RG-1.02** : POST avec phoneSecondary rempli → persistance OK ; PATCH ajoutant un 3e téléphone → côté API, 2 colonnes uniquement (test que le payload ne peut pas créer un 3e)
- [ ] **RG-1.03** : POST avec distributor ET broker → 422 ; POST distributor seul → 201
- [ ] **RG-1.03** : POST distributor référençant un client SANS catégorie de type DISTRIBUTEUR → 422 (validation custom)
- [ ] **RG-1.03** : POST distributor référençant un client SANS catégorie de code DISTRIBUTEUR → 422 (validation custom `ClientProcessor::hasCategoryCode`)
- [ ] **RG-1.04** : PATCH onglet Information par un user Commerciale avec champs incomplets → 422 ; même PATCH par Admin → 200
- [ ] **RG-1.05** : POST contact sans firstName ni lastName → 422 (BDD CHECK lève une exception)
- [ ] **RG-1.06/07/08** : POST adresse avec isProspect=true ET isDelivery=true → 422 / CHECK