Hook création tiers

Bonjour à tous,
J’ai créé un nouveau module car j’ai besoin d’exécuter du code à la création d’un tiers, donc lorsque sur thirdpartycard $action == ‹ add ›.
Seulement, j’ai l’impression que $action est toujours différent de add sauf lorsqu’il y a une erreur dans le formulaire.
Le code que je vous mets ci-dessous fonctionne très bien et m’affiche : « create », « view » ou « edit », je n’ai réussi à avoir le « add » qu’en produisant une erreur dans le formulaire.
Ma question est la suivante, comment exécuter mon code après la validation du formulaire pour en récupérer les données ?

'hooks' => array(
				'thirdpartycard'
				//   'data' => array(
				//       'hookcontext1',
				//       'hookcontext2',
				//   ),
				//   'entity' => '0',
			),
public function doActions($parameters, &$object, &$action, $hookmanager){
			print '<script>alert("'.$action.'")</script>';
	}

EDIT :
En commentant les headers comme ci-dessous ça fonctionne, mais ça ne m’arrange pas :slight_smile:
Comment exécuter mon code puis rediriger ?

if (!empty($backtopage)) {
						$backtopage = preg_replace('/--IDFORBACKTOPAGE--/', $object->id, $backtopage); // New method to autoselect project after a New on another form object creation
						if (preg_match('/\?/', $backtopage)) {
							$backtopage .= '&socid='.$object->id; // Old method
						}
						//header("Location: ".$backtopage);
						exit;
					} else {
						$url = $_SERVER["PHP_SELF"]."?socid=".$object->id; // Old method
						if (($object->client == 1 || $object->client == 3) && !getDolGlobalString('SOCIETE_DISABLE_CUSTOMERS')) {
							$url = DOL_URL_ROOT."/comm/card.php?socid=".$object->id;
						} elseif ($object->fournisseur == 1) {
							$url = DOL_URL_ROOT."/fourn/card.php?socid=".$object->id;
						}

						//header("Location: ".$url);
						exit;
					}

Par avance merci

Si le but est d’exécuter du code à la création d’un tiers, une méthode plus simple que les hooks Dolibarr et d’utiliser les triggers Dolibarr (plus simple et permet en plus de provoquer ou pas l’annulation de création selon le résultat de ton code.

1 « J'aime »

Quand on a l’habitude de développer sur d’autres plateformes, ça peut être perturbant, mais Dolibarr fait la distinction entre ses hooks d’action sur les objets «triggers» et les hooks de contexte (sur une page donnée). Bien qu’il semble possible de créer des «trigger» pour tout et n’importe quoi.

1 « J'aime »