feat(transport) : onglet prix transporteur (ERP-169) #128

Merged
tristan merged 5 commits from feat/erp-169-carrier-prices into develop 2026-06-18 08:49:59 +00:00
Owner

RG-4.09→4.11. Ticket ERP-169. Stack sur #127→#126→#123→#122→#121.

RG-4.09→4.11. Ticket ERP-169. Stack sur #127→#126→#123→#122→#121.
tristan added 18 commits 2026-06-17 08:05:48 +00:00
feat(transport) : page répertoire transporteurs (ERP-164)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m54s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m33s
1ef4215ebf
feat(transport) : filtres checkbox, toggle « Voir les archivés », transporteurs dans Administration (ERP-164)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m9s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m36s
8046de76c6
chore(frontend) : bump @malio/layer-ui ^1.7.12 + commentaire useSuppliersRepository
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m14s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m31s
597c63bb2e
feat(transport) : écran ajout transporteur — layout + formulaire principal (ERP-165)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m11s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
5734aaef54
fix(transport) : centre verticalement la case « Affréter » sur la ligne de champ (ERP-165)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m2s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m24s
f1b18cfbbe
feat(transport) : saisie assistée QUALIMAT + champs conditionnels (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m8s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m36s
f70e701854
fix(transport) : décharge après volume (nouvelle ligne) + contenant Benne/FM en select (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m1s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
8cc2cea444
fix(transport) : ordre des champs Nom/Certif/Décharge/Affréter/Indexation/Benne/Volume (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Has been cancelled
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
be03f4e51a
fix(transport) : colonne 3 réservée à la décharge, « Affréter » toujours en colonne 4 (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m9s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
9864dbc00f
fix(transport) : certification obligatoire en pré-validation front, sauf cas LIOT (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m7s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
3804362546
fix(transport) : pré-validation front des champs conditionnels obligatoires (décharge AUTRE, affrètement) (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Has been cancelled
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
6a519874ed
feat(transport) : croix de suppression sur le champ Décharge (clearable) (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m9s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m33s
d6d2144cc1
refactor(transport) : onglet Qualimat en MalioDataTable paginé, recherche branchée sur le nom (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m1s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m44s
388d39a379
feat(transport) : onglet Qualimat accessible dès le départ, recherche réactive au nom, sélection remplit le formulaire (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Failing after 49s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m34s
cf645493c1
feat(transport) : datatable Qualimat vide par défaut, n'affiche que les résultats de recherche (ERP-166)
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m30s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Failing after 42s
0733a239a8
Merge remote-tracking branch 'origin/develop' into feat/erp-164-carriers-list
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m1s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m20s
45158af920
Merge branch 'feat/erp-164-carriers-list' into feat/erp-165-carrier-new
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m54s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m22s
4202977950
Merge branch 'feat/erp-165-carrier-new' into feat/erp-166-qualimat-search
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m57s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m26s
40fdded7e2
tristan added the frontM4-Transporteurtype/feat labels 2026-06-17 08:05:49 +00:00
Author
Owner

Review front — ERP-169 (onglet prix)

Verdict : mergeable en l'état.

Aligné sur le pattern collection des onglets Adresses/Contacts. MalioInputAmount (parsing virgule→point délégué à la lib, payload décimal propre, pas de NaN), branche inactive forcée à null (protège le CHECK BDD), erreurs par ligne, scalaires obligatoires omis si vides pour obtenir une 422 inline plutôt qu'un 400 de type. Tests ciblés.

Findings

  • MINOR — Les erreurs inline ne sont effacées qu'au prochain submit, pas à la saisie/au blur → une erreur peut rester affichée alors que le champ est désormais rempli. Comportement déjà en place sur Adresses/Contacts → à traiter transverse, pas seulement ici.
  • NIT — Chaque bloc recharge ses options d'adresses (client/fournisseur) sans cache : N blocs sur le même tiers = N GET identiques. Volume attendu faible → acceptable ; mémoïser par IRI seulement si la grille grossit.
  • NIT — Le reset de branche (onDirectionChange/onClientChange) vit dans le composant et n'est pas couvert par les tests (le payload-builder protège déjà le CHECK BDD). Optionnel : test de composant ou util pur.

Incrément reviewé : erp-168..erp-169 (front).

## Review front — ERP-169 (onglet prix) **Verdict : mergeable en l'état.** Aligné sur le pattern collection des onglets Adresses/Contacts. `MalioInputAmount` (parsing virgule→point délégué à la lib, payload décimal propre, pas de NaN), **branche inactive forcée à `null`** (protège le CHECK BDD), erreurs par ligne, scalaires obligatoires omis si vides pour obtenir une 422 inline plutôt qu'un 400 de type. Tests ciblés. **Findings** - **MINOR** — Les erreurs inline ne sont effacées qu'au prochain submit, pas à la saisie/au blur → une erreur peut rester affichée alors que le champ est désormais rempli. **Comportement déjà en place sur Adresses/Contacts** → à traiter transverse, pas seulement ici. - **NIT** — Chaque bloc recharge ses options d'adresses (client/fournisseur) sans cache : N blocs sur le même tiers = N GET identiques. Volume attendu faible → acceptable ; mémoïser par IRI seulement si la grille grossit. - **NIT** — Le reset de branche (`onDirectionChange`/`onClientChange`) vit dans le composant et n'est pas couvert par les tests (le payload-builder protège déjà le CHECK BDD). Optionnel : test de composant ou util pur. > Incrément reviewé : `erp-168..erp-169` (front).
tristan added 10 commits 2026-06-17 14:09:16 +00:00
fix(transport) : intégration QUALIMAT — copie locale seulement après PATCH réussi (évite un état non persisté) (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m4s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m43s
c6259a96cd
feat(transport) : onglet adresses transporteur (ERP-167)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m18s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m34s
ef996c3672
fix(transport) : contact transporteur valide si prénom OU nom (alignement M1/M2/M3) (ERP-168)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m24s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m35s
f29266e5e8
fix(transport) : pré-validation front du bloc prix — erreurs inline sous tous les champs requis (selects branche) (ERP-169)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m4s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m34s
fb9c15c52a
tristan force-pushed feat/erp-169-carrier-prices from 70320c85aa to fb9c15c52a 2026-06-17 14:09:16 +00:00 Compare
tristan merged commit 8daf0ff5d4 into develop 2026-06-18 08:49:59 +00:00
tristan deleted branch feat/erp-169-carrier-prices 2026-06-18 08:50:02 +00:00
Sign in to join this conversation.