feat(commercial) : redirection vers la liste a la fin de l'ajout d'un client (ERP-119)
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:
@@ -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 /
|
||||
|
||||
Reference in New Issue
Block a user