Récupérer un attribut d'action depuis une transition d'état

Bonjour,

J’ai une transition d’état qui utilise une Action.

Dans cette action, j’ai un attribut d’action.

Lorsque je clique je sur confirmer, j’aimerais récupérer dans ma fonction setRevisionDdv() la valeur contenu dans cet attribut d’action.

public String setRevisionDdv(Map<String, String> data){
	String reason = data.get("ddvPowReason");
	AppLog.info("============= reason : " + reason, getGrant());
	
	return null;
}

Cette méthode n’est jamais appelée. Quelle est le problème selon vous ?

PS : J’ai l’impression que c’est le fait que se soit une transition d’état qui pose problème. Car tout les autres exemples que j’ai, sont de simple action (sans être liée à une transition d’état) et ça marche.

Bonjour,

Effectivement les boutons d’actions créés automatiquement pour effectuer les transitions d’état ne sont pas câblées pour pouvoir appeler une méthode de l’objet ou avoir des attributs d’action.

Dans votre cas, le mieux serait de créer un bouton d’action spécifique qui appelle setRevisionDdv et effectue aussi la transition d’état (changement de la valeur de l’attribut qui porte l’état). Pensez également à ajouter une contrainte qui n’affiche le bouton que dans le statut adéquat.

1 Like

Merci de votre réponse.

Est-ce prévu dans une future mise à jour que ce problème soit corrigé ?

Il ne s’agit pas d’un bug, juste d’une feature non implémentée.
Je vais requalifier votre post en feature request pour que ce soit implémenté dans les version futures.

En attendant il vous reste donc l’option que j’ai énoncé plus haut (bouton d’action classique) ou garder votre configuration actuelle et récupérer la valeur du champ de confirmation dans un hook postValidate ou preSave

Action a = getStateTransitionAction("actionName");
if (a!=null) {
  ObjectField f = a.getConfirmField(getGrant().getLang(), "myFieldName");
  String value = f.getValue();
}
1 Like

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