Gérer 2 Etats et leurs transitions sur un même objet métier

J’ai un objet métier pour lequel je gère 2 Etats différents :
le statut et l’état Agora (envoi de données et récupération de la prise en charge via API)

le statut est géré via des boutons d’action.
l’état Agora est géré via API ou manuellement.

J’ai voulu utiliser les transitions d’état pour limité les changements de l’état Agora à certaines étapes. Ca fonctionne très bien sauf que les bouton d’action permettant le changement de statut ne sont plus visibles.

Est ce que ça veut dire qu’un objet métier ne supporte pas d’avoir des transitions sur 2 attributs différents ?

Oui on ne peut créer qu’un diagramme d’états/transitions pour un objet sur 1 seul champ ENUM (getStatusField / getStatus…).

L’autre champ devra donc être actualisé dans l’initUpdate, pour ne proposer que certaines valeurs possibles en fonction de la valeur courante.

Par exemple :

String val = obj.getFieldValue("myOtherStatus");
ObjectFieldList list = obj.getField("myOtherStatus").getList();
list.getItem("B", true).setEnabled("A".equals(val));
list.getItem("D", true).setEnabled("B".equals(val) || "C".equals(val));
...

et l’initCreate devra proposer que la valeur initiale ?

dommage …
ce serait bien que ce soit bloquant du coup.

Le bouton “Add State Model” pour générer un state model sur la définition d’objet disparait s’il y en a déjà un. Mais on peut effectivement passer par d’autres accès pour le créer sans le wizard, on va ajouter un message d’erreur si on crée un state sur un objet qui en a déjà un autre basé sur un autre liste.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.