feat(commercial) : redirection vers la liste a la fin de l'ajout d'un client (ERP-119)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m6s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m10s

Quand le dernier onglet remplissable par le role est valide (Adresse pour
Bureau/Commerciale, Comptabilite pour Admin), l'ajout est termine : toast
« Client ajoute » + redirection vers /clients. Le dernier onglet remplissable
est derive de tabKeys via lastFillableTabKey (dernier onglet non-placeholder),
deja role-aware, sans regle RBAC custom. completeTab retourne un booleen pour
eviter le double toast.
This commit is contained in:
2026-06-09 14:32:31 +02:00
parent 4d403ec7ed
commit ada4b156fa
4 changed files with 56 additions and 6 deletions
@@ -50,6 +50,18 @@ export function buildClientFormTabKeys(
return keys
}
/**
* Dernier onglet REMPLISSABLE d'un jeu d'onglets : le dernier qui n'est pas un
* placeholder (coquille). Role-aware sans regle ad hoc — il suffit de lui passer
* les `tabKeys` deja filtres par permission (l'onglet Comptabilite n'y figure que
* si accounting.view). Sa validation marque la fin de l'ajout (redirection liste).
*/
export function lastFillableTabKey(tabKeys: string[]): string | undefined {
return [...tabKeys].reverse().find(
key => !(CLIENT_FORM_PLACEHOLDER_TABS as readonly string[]).includes(key),
)
}
/**
* Codes de categorie « intermediaire » : un client dont la categorie est
* Distributeur ou Courtier n'a ni relation amont (il EST le distributeur /