Du coup je me suis penché sur la gestion de ces widgets et ils sont affichés par le code suivant :
[code]
if (! $formconfirm)
{
$parameters = array(‹ lineid › => $lineid);
$reshook = $hookmanager->executeHooks(‹ formConfirm ›, $parameters, $object, $action); // Note that $action and $object may have been modified by hook
if (empty($reshook)) $formconfirm.=$hookmanager->resPrint;
elseif ($reshook > 0) $formconfirm=$hookmanager->resPrint;
}
// Print form confirm
print $formconfirm;[/code]
Donc si le $formconfirm n’est pas vide, on execute jamais le hook.
Du coup je ne comprends pas à quoi sert le hook.
C’était vraiment la volonté des développeurs ou alors il y a une erreur dans le if ?
Je ne vois pas le cas ou l’on voudrait rajouter des formconfirm dans card.php et de plus le code propose d’ajouter du texte à une formconfirm, ce qui dans l’état est inutile car formconfirm est vide.
if (empty($reshook)) $formconfirm.=$hookmanager->resPrint;
Pour moi il faut changer la condition.
Aprés j’ai fait la PR pour avoir une réponse de Eldy
Bonjour
Je conviens que le code est étrange, ajouter quelque chose à un truc forcément vide…
Mais un module peut créer un bouton avec une action, et donc ajouter un formconfirm pour valider cette action s’il il n’existe pas de formconfirm
Peut-être pour mettre tout le monde d’accord, le mieux serait de supprimer le test…
Je suis justement en train de travailler sur un module qui va interagir avec ce hook.
Le module interviendra sur les commandes fournisseurs au niveau de la suppression de la commande et de la suppression de lignes.
Lors de la confirmation, des infos seront stockées en base (date, liens client/commande/produit/fournisseur) et c’est à ce moment que mon module demandera la raison de cette suppression.
Un peu comme lorsqu’on classe une facture client abandonnée, on nous demande la raison.
Le module permettra de garder une trace concernant les commande fournisseurs, avec une vue sur la fiche du fournisseurs et un graphique calendaire général.