Ci-dessous une suspicion d’anomalie :
Paramétrage de 2 transitions du même état initial vers le même état final (A vers B) avec 2 actions différentes (Les libellés d’action sont différents)
La plateforme restitue deux fois le même bouton d’action sur les formulaires.
Cela se reproduit sur les 2 IHM car étrangement ce cas n’a jamais été prévu.
L’unicité d’une transition est donnée par l’état initial + final, il va falloir revoir le moteur pour gérer plusieurs transitions possibles entre 2 mêmes états A=>B (mais avec des actions différentes).
Je regarde si c’est simple ou pas à faire.
il va y avoir une ambiguïté dans la liste de valeur du statut car on va avoir 2 fois le même état “B”, il faut donc aussi mettre le libellé de l’action (si pas d’action, on mettra le nom de la transition avec un warning pour le designer)
de même lors du “save” il faut revoir le moteur pour qu’il déclenche la bonne méthode callback et/ou notification, à date il prend la première transition A=>B trouvée en se basant uniquement sur old/new value du statut
Ce sera livré dans la prochaine release. Il y aura bien 2 boutons différents.
Attention la liste de valeurs du statut contiendra aussi 2 fois l’état “B” avec le libellé du bouton pour les distinguer.
Client : la transition à déclencher est stockée dans la propriété “data-tran” des 2 <option value="B"> pour les différencier
Serveur : on peut utiliser obj.getCurrentTransition() dans les hooks pour savoir quelle est la transition en cours (car les états oldvalue=A et value=B ne suffisent plus à déterminer l’action ou le callback)
MyObject.postSave = function() {
var tran = this.getCurrentTransition();
if (tran && tran.getName()=="Transition-A-B-n1") {
// do something
}
else if (tran && tran.getName()=="Transition-A-B-n2") {
// do something else
}
}