From 0c1ba58a00f96d952214cc37b048d0954c25f3b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 10 Jun 2014 12:13:27 +0200 Subject: [PATCH] Fix: [ bug #1449 ] Trigger ORDER_CREATE ignores interception on error --- ChangeLog | 1 + htdocs/commande/class/commande.class.php | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c3a10ce31ae..2031bd5ec6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,7 @@ Fix: [ bug #1416 ] Supplier order does not list document models in the select bo supplier order card Fix: [ bug #1443 ] Payment conditions is erased after editing supplier invoice label or limit date for payment +Fix: [ bug #1449 ] Trigger ORDER_CREATE ignores interception on error ***** ChangeLog for 3.5.3 compared to 3.5.2 ***** Fix: Error on field accountancy code for export profile of invoices. diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index b96ea931f21..90c54a5fefe 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -795,8 +795,19 @@ class Commande extends CommonOrder // Fin appel triggers } - $this->db->commit(); - return $this->id; + if (!$error) { + $this->db->commit(); + return $this->id; + } + + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } else {