Compare commits
base: MALIO-DEV/Starseed:544da49404c06ca7620eb6c6bc081a75b2739641
MALIO-DEV/Starseed:develop
MALIO-DEV/Starseed:feat/erp-149-idtf-sync
MALIO-DEV/Starseed:feat/erp-39-qualimat-sync
MALIO-DEV/Starseed:feature/ERP-138-rbac-technique-providers
MALIO-DEV/Starseed:feat/erp-150-module-transport
MALIO-DEV/Starseed:feature/ERP-137-export-xlsx-prestataires
MALIO-DEV/Starseed:feature/ERP-136-validations-rg-server-side
MALIO-DEV/Starseed:feature/ERP-135-sous-ressources-provider
MALIO-DEV/Starseed:feature/ERP-134-provider-processor-cloisonnement-site
MALIO-DEV/Starseed:feature/M6-field-sales
MALIO-DEV/Starseed:feature/ERP-88-sous-ressources-m2
MALIO-DEV/Starseed:feature/ERP-89-validators-m2
MALIO-DEV/Starseed:refactor/refonte-contact-suppression-inline-back
MALIO-DEV/Starseed:feat/admin-tables-filter-pagination
MALIO-DEV/Starseed:main
MALIO-DEV/Starseed:v0.1.114
MALIO-DEV/Starseed:v0.1.113
MALIO-DEV/Starseed:v0.1.112
MALIO-DEV/Starseed:v0.1.111
MALIO-DEV/Starseed:v0.1.110
MALIO-DEV/Starseed:v0.1.109
MALIO-DEV/Starseed:v0.1.108
MALIO-DEV/Starseed:v0.1.107
MALIO-DEV/Starseed:v0.1.106
MALIO-DEV/Starseed:v0.1.105
MALIO-DEV/Starseed:v0.1.104
MALIO-DEV/Starseed:v0.1.103
MALIO-DEV/Starseed:v0.1.102
MALIO-DEV/Starseed:v0.1.101
MALIO-DEV/Starseed:v0.1.100
MALIO-DEV/Starseed:v0.1.99
MALIO-DEV/Starseed:v0.1.98
MALIO-DEV/Starseed:v0.1.97
MALIO-DEV/Starseed:v0.1.96
MALIO-DEV/Starseed:v0.1.95
MALIO-DEV/Starseed:v0.1.94
MALIO-DEV/Starseed:v0.1.93
MALIO-DEV/Starseed:v0.1.92
MALIO-DEV/Starseed:v0.1.91
MALIO-DEV/Starseed:v0.1.90
MALIO-DEV/Starseed:v0.1.89
MALIO-DEV/Starseed:v0.1.88
MALIO-DEV/Starseed:v0.1.87
MALIO-DEV/Starseed:v0.1.86
MALIO-DEV/Starseed:v0.1.85
MALIO-DEV/Starseed:v0.1.84
MALIO-DEV/Starseed:v0.1.83
MALIO-DEV/Starseed:v0.1.82
MALIO-DEV/Starseed:v0.1.81
MALIO-DEV/Starseed:v0.1.80
MALIO-DEV/Starseed:v0.1.79
MALIO-DEV/Starseed:v0.1.78
MALIO-DEV/Starseed:v0.1.77
MALIO-DEV/Starseed:v0.1.76
MALIO-DEV/Starseed:v0.1.75
MALIO-DEV/Starseed:v0.1.74
MALIO-DEV/Starseed:v0.1.73
MALIO-DEV/Starseed:v0.1.72
MALIO-DEV/Starseed:v0.1.71
MALIO-DEV/Starseed:v0.1.70
MALIO-DEV/Starseed:v0.1.69
MALIO-DEV/Starseed:v0.1.68
MALIO-DEV/Starseed:v0.1.67
MALIO-DEV/Starseed:v0.1.66
MALIO-DEV/Starseed:v0.1.65
MALIO-DEV/Starseed:v0.1.64
MALIO-DEV/Starseed:v0.1.63
MALIO-DEV/Starseed:v0.1.62
MALIO-DEV/Starseed:v0.1.61
MALIO-DEV/Starseed:v0.1.60
MALIO-DEV/Starseed:v0.1.59
MALIO-DEV/Starseed:v0.1.58
MALIO-DEV/Starseed:v0.1.57
MALIO-DEV/Starseed:v0.1.56
MALIO-DEV/Starseed:v0.1.55
MALIO-DEV/Starseed:v0.1.54
MALIO-DEV/Starseed:v0.1.53
MALIO-DEV/Starseed:v0.1.52
MALIO-DEV/Starseed:v0.1.51
MALIO-DEV/Starseed:v0.1.50
MALIO-DEV/Starseed:v0.1.49
MALIO-DEV/Starseed:v0.1.48
MALIO-DEV/Starseed:v0.1.47
MALIO-DEV/Starseed:v0.1.46
MALIO-DEV/Starseed:v0.1.45
MALIO-DEV/Starseed:v0.1.44
MALIO-DEV/Starseed:v0.1.43
MALIO-DEV/Starseed:v0.1.42
MALIO-DEV/Starseed:v0.1.41
MALIO-DEV/Starseed:v0.1.40
MALIO-DEV/Starseed:v0.1.39
MALIO-DEV/Starseed:v0.1.38
MALIO-DEV/Starseed:v0.1.37
MALIO-DEV/Starseed:v0.1.36
MALIO-DEV/Starseed:v0.1.35
MALIO-DEV/Starseed:v0.1.34
MALIO-DEV/Starseed:v0.1.33
MALIO-DEV/Starseed:v0.1.32
MALIO-DEV/Starseed:v0.1.31
MALIO-DEV/Starseed:v0.1.30
MALIO-DEV/Starseed:v0.1.29
MALIO-DEV/Starseed:v0.1.28
MALIO-DEV/Starseed:v0.1.27
MALIO-DEV/Starseed:v0.1.26
MALIO-DEV/Starseed:v0.1.25
MALIO-DEV/Starseed:v0.1.24
MALIO-DEV/Starseed:v0.1.23
MALIO-DEV/Starseed:v0.1.22
MALIO-DEV/Starseed:v0.1.21
MALIO-DEV/Starseed:v0.1.20
MALIO-DEV/Starseed:v0.1.19
MALIO-DEV/Starseed:v0.1.18
MALIO-DEV/Starseed:v0.1.17
MALIO-DEV/Starseed:v0.1.16
MALIO-DEV/Starseed:v0.1.15
MALIO-DEV/Starseed:v0.1.14
MALIO-DEV/Starseed:v0.1.13
MALIO-DEV/Starseed:v0.1.12
MALIO-DEV/Starseed:v0.1.11
MALIO-DEV/Starseed:v0.1.10
MALIO-DEV/Starseed:v0.1.9
MALIO-DEV/Starseed:v0.1.8
MALIO-DEV/Starseed:v0.1.7
MALIO-DEV/Starseed:v0.1.6
MALIO-DEV/Starseed:v0.1.5
MALIO-DEV/Starseed:v0.1.4
MALIO-DEV/Starseed:v0.1.3
MALIO-DEV/Starseed:v0.1.2
MALIO-DEV/Starseed:v0.1.1
MALIO-DEV/Starseed:v0.1.0
..
compare: MALIO-DEV/Starseed:v0.1.89
MALIO-DEV/Starseed:develop
MALIO-DEV/Starseed:feat/erp-149-idtf-sync
MALIO-DEV/Starseed:feat/erp-39-qualimat-sync
MALIO-DEV/Starseed:feature/ERP-138-rbac-technique-providers
MALIO-DEV/Starseed:feat/erp-150-module-transport
MALIO-DEV/Starseed:feature/ERP-137-export-xlsx-prestataires
MALIO-DEV/Starseed:feature/ERP-136-validations-rg-server-side
MALIO-DEV/Starseed:feature/ERP-135-sous-ressources-provider
MALIO-DEV/Starseed:feature/ERP-134-provider-processor-cloisonnement-site
MALIO-DEV/Starseed:feature/M6-field-sales
MALIO-DEV/Starseed:feature/ERP-88-sous-ressources-m2
MALIO-DEV/Starseed:feature/ERP-89-validators-m2
MALIO-DEV/Starseed:refactor/refonte-contact-suppression-inline-back
MALIO-DEV/Starseed:feat/admin-tables-filter-pagination
MALIO-DEV/Starseed:main
MALIO-DEV/Starseed:v0.1.114
MALIO-DEV/Starseed:v0.1.113
MALIO-DEV/Starseed:v0.1.112
MALIO-DEV/Starseed:v0.1.111
MALIO-DEV/Starseed:v0.1.110
MALIO-DEV/Starseed:v0.1.109
MALIO-DEV/Starseed:v0.1.108
MALIO-DEV/Starseed:v0.1.107
MALIO-DEV/Starseed:v0.1.106
MALIO-DEV/Starseed:v0.1.105
MALIO-DEV/Starseed:v0.1.104
MALIO-DEV/Starseed:v0.1.103
MALIO-DEV/Starseed:v0.1.102
MALIO-DEV/Starseed:v0.1.101
MALIO-DEV/Starseed:v0.1.100
MALIO-DEV/Starseed:v0.1.99
MALIO-DEV/Starseed:v0.1.98
MALIO-DEV/Starseed:v0.1.97
MALIO-DEV/Starseed:v0.1.96
MALIO-DEV/Starseed:v0.1.95
MALIO-DEV/Starseed:v0.1.94
MALIO-DEV/Starseed:v0.1.93
MALIO-DEV/Starseed:v0.1.92
MALIO-DEV/Starseed:v0.1.91
MALIO-DEV/Starseed:v0.1.90
MALIO-DEV/Starseed:v0.1.89
MALIO-DEV/Starseed:v0.1.88
MALIO-DEV/Starseed:v0.1.87
MALIO-DEV/Starseed:v0.1.86
MALIO-DEV/Starseed:v0.1.85
MALIO-DEV/Starseed:v0.1.84
MALIO-DEV/Starseed:v0.1.83
MALIO-DEV/Starseed:v0.1.82
MALIO-DEV/Starseed:v0.1.81
MALIO-DEV/Starseed:v0.1.80
MALIO-DEV/Starseed:v0.1.79
MALIO-DEV/Starseed:v0.1.78
MALIO-DEV/Starseed:v0.1.77
MALIO-DEV/Starseed:v0.1.76
MALIO-DEV/Starseed:v0.1.75
MALIO-DEV/Starseed:v0.1.74
MALIO-DEV/Starseed:v0.1.73
MALIO-DEV/Starseed:v0.1.72
MALIO-DEV/Starseed:v0.1.71
MALIO-DEV/Starseed:v0.1.70
MALIO-DEV/Starseed:v0.1.69
MALIO-DEV/Starseed:v0.1.68
MALIO-DEV/Starseed:v0.1.67
MALIO-DEV/Starseed:v0.1.66
MALIO-DEV/Starseed:v0.1.65
MALIO-DEV/Starseed:v0.1.64
MALIO-DEV/Starseed:v0.1.63
MALIO-DEV/Starseed:v0.1.62
MALIO-DEV/Starseed:v0.1.61
MALIO-DEV/Starseed:v0.1.60
MALIO-DEV/Starseed:v0.1.59
MALIO-DEV/Starseed:v0.1.58
MALIO-DEV/Starseed:v0.1.57
MALIO-DEV/Starseed:v0.1.56
MALIO-DEV/Starseed:v0.1.55
MALIO-DEV/Starseed:v0.1.54
MALIO-DEV/Starseed:v0.1.53
MALIO-DEV/Starseed:v0.1.52
MALIO-DEV/Starseed:v0.1.51
MALIO-DEV/Starseed:v0.1.50
MALIO-DEV/Starseed:v0.1.49
MALIO-DEV/Starseed:v0.1.48
MALIO-DEV/Starseed:v0.1.47
MALIO-DEV/Starseed:v0.1.46
MALIO-DEV/Starseed:v0.1.45
MALIO-DEV/Starseed:v0.1.44
MALIO-DEV/Starseed:v0.1.43
MALIO-DEV/Starseed:v0.1.42
MALIO-DEV/Starseed:v0.1.41
MALIO-DEV/Starseed:v0.1.40
MALIO-DEV/Starseed:v0.1.39
MALIO-DEV/Starseed:v0.1.38
MALIO-DEV/Starseed:v0.1.37
MALIO-DEV/Starseed:v0.1.36
MALIO-DEV/Starseed:v0.1.35
MALIO-DEV/Starseed:v0.1.34
MALIO-DEV/Starseed:v0.1.33
MALIO-DEV/Starseed:v0.1.32
MALIO-DEV/Starseed:v0.1.31
MALIO-DEV/Starseed:v0.1.30
MALIO-DEV/Starseed:v0.1.29
MALIO-DEV/Starseed:v0.1.28
MALIO-DEV/Starseed:v0.1.27
MALIO-DEV/Starseed:v0.1.26
MALIO-DEV/Starseed:v0.1.25
MALIO-DEV/Starseed:v0.1.24
MALIO-DEV/Starseed:v0.1.23
MALIO-DEV/Starseed:v0.1.22
MALIO-DEV/Starseed:v0.1.21
MALIO-DEV/Starseed:v0.1.20
MALIO-DEV/Starseed:v0.1.19
MALIO-DEV/Starseed:v0.1.18
MALIO-DEV/Starseed:v0.1.17
MALIO-DEV/Starseed:v0.1.16
MALIO-DEV/Starseed:v0.1.15
MALIO-DEV/Starseed:v0.1.14
MALIO-DEV/Starseed:v0.1.13
MALIO-DEV/Starseed:v0.1.12
MALIO-DEV/Starseed:v0.1.11
MALIO-DEV/Starseed:v0.1.10
MALIO-DEV/Starseed:v0.1.9
MALIO-DEV/Starseed:v0.1.8
MALIO-DEV/Starseed:v0.1.7
MALIO-DEV/Starseed:v0.1.6
MALIO-DEV/Starseed:v0.1.5
MALIO-DEV/Starseed:v0.1.4
MALIO-DEV/Starseed:v0.1.3
MALIO-DEV/Starseed:v0.1.2
MALIO-DEV/Starseed:v0.1.1
MALIO-DEV/Starseed:v0.1.0
3 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
54091be60e | chore: bump version to v0.1.89 | ||
|
|
e265a008bc |
feat(commercial) : validators M2 fournisseurs (RG-2.03/2.07/2.08/2.10) (ERP-89) (#68)
Auto Tag Develop / tag (push) Successful in 7s
Étape 4/7 du M2 fournisseurs — stackée sur #67 (ERP-88). ## Périmètre (RG-2.03 / 2.07 / 2.08 / 2.10) Décision figée ERP-89 : les RG inter-champs passent par `Assert\Callback` + `->atPath()` sur l'entité Supplier (et non dans le Processor), pour que chaque 422 porte un `propertyPath` consommable par `extractApiViolations` (mapping inline, pas un toast — ERP-101). - **RG-2.10** — `Supplier::validateCategoryType()` → `atPath('categories')` : catégories de type FOURNISSEUR uniquement sur `supplier.categories` (miroir d'ERP-88 côté adresse). - **RG-2.07** — `Supplier::validatePaymentTypeConsistency()` → `atPath('bank')` : VIREMENT impose une banque. - **RG-2.08** — même Callback → `atPath('ribs')` : LCR impose ≥ 1 RIB (le 409 sur DELETE du dernier RIB en LCR reste porté par ERP-88). - **RG-2.03** — `SupplierInformationCompletenessValidator` (8 champs Information dont `volumeForecast`), invoqué par le `SupplierProcessor` après détection back du rôle Commerciale via `BusinessRoleAwareInterface`. Le Processor ne porte que rôle / mode strict / gating. ## Tests (16, verts) - `SupplierValidationTest` — Callbacks RG-2.07/2.08/2.10, assertion par propertyPath. - `SupplierInformationCompletenessValidatorTest` — complétude / champs manquants / zéros valides. - `SupplierProcessorTest` — détection rôle RG-2.03 (POST + PATCH main-only + non-Commerciale). `make test` : 499 tests OK. `php-cs-fixer` : clean. --------- Co-authored-by: admin malio <malio@yuno.malio.fr> Co-authored-by: Matthieu <contact@malio.fr> Reviewed-on: #68 Co-authored-by: THOLOT DECHENE Matthieu <matthieu@yuno.malio.fr> Co-committed-by: THOLOT DECHENE Matthieu <matthieu@yuno.malio.fr> |
||
|
|
145d4362db |
feat(commercial) : sous-ressources M2 fournisseurs (contacts/adresses/ribs) (ERP-88) (#67)
Auto Tag Develop / tag (push) Successful in 7s
## ERP-88 — Sous-ressources M2 (contacts / adresses / ribs) Étape 4/7 du pipeline M2. Dépend de #86 (entités) et #87 (Provider/Processor). Bloque #92. ### Contenu Opérations API Platform + Processors d'écriture des sous-collections du fournisseur (POST/PATCH/DELETE + GET unitaire). **SupplierContactProcessor** - Rattachement au fournisseur parent (404 si absent). - Normalisation serveur RG-2.12 (Title Case nom/prénom, téléphones chiffres seuls, email lowercase). - RG-2.04 : firstName **ou** lastName obligatoire (422 sur `firstName`). - DELETE libre (RG-2.13 front-driven : collection peut rester vide côté back). **SupplierAddressProcessor** - Rattachement au fournisseur parent. - RG-2.05 (CP `^[0-9]{4,5}$`), RG-2.06 (≥1 site), RG-2.09 (type d'adresse) portées par les contraintes d'entité (ERP-86). - RG-2.10 (catégorie de type FOURNISSEUR) ajoutée via `Assert\Callback validateCategoryType` (propertyPath=`categories`). **SupplierRibProcessor** - Rattachement au fournisseur parent. - RG-2.08 : refus du DELETE du dernier RIB quand `paymentType.code = LCR` → **409**. ### Security différenciée | Sous-ressource | Écriture | Lecture | |---|---|---| | contacts / adresses | `commercial.suppliers.manage` | `commercial.suppliers.view` | | ribs | `commercial.suppliers.accounting.manage` | `commercial.suppliers.accounting.view` | POST en `read:false` (parent rattaché manuellement) — parade NonUniqueResult héritée du M1. Messages FR (ERP-107) + `violations[].propertyPath` aligné (ERP-101). ### Vérifications - `make php-cs-fixer-allow-risky` : 0 fichier à corriger - `make test` : 483 tests OK - `debug:router` : 12 routes générées (4 par sous-ressource) ### Hors périmètre (tickets suivants) - Déclaration RBAC `commercial.suppliers.*` dans `CommercialModule` (#7) — sans elle, l'accès reste 403. - Tests fonctionnels de la matrice RG (#8) — dépendent du RBAC + fixtures Supplier. ### Notes de review (non bloquantes, alignées M1) - `position` des sous-collections non exposé à l'API (décision ERP-86, géré serveur). - M2M `SupplierAddress.contacts` non vérifié same-supplier — comportement identique au M1 (ClientAddress), à traiter globalement si besoin. --------- Co-authored-by: Matthieu <contact@malio.fr> Reviewed-on: #67 Co-authored-by: THOLOT DECHENE Matthieu <matthieu@yuno.malio.fr> Co-committed-by: THOLOT DECHENE Matthieu <matthieu@yuno.malio.fr> |
1 changed files with 1 additions and 1 deletions
+1
-1
@@ -1,2 +1,2 @@
|
||||
parameters:
|
||||
app.version: '0.1.87'
|
||||
app.version: '0.1.89'
|
||||
|
||||
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.