From 9fa742ceb2d4302c116031ec09b38ee0dddeff2b Mon Sep 17 00:00:00 2001 From: fappels <francis.appels@yahoo.com> Date: Mon, 14 Dec 2015 21:38:26 +0100 Subject: [PATCH] [QUAL] Shipment error handling --- htdocs/expedition/card.php | 29 +++++++------------ htdocs/expedition/class/expedition.class.php | 1 + .../stock/class/mouvementstock.class.php | 8 ++--- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index 36d85366805..dfe848808c8 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -224,7 +224,7 @@ if (empty($reshook)) $ret=$object->addline($entrepot_id,GETPOST($idl,'int'),GETPOST($qty,'int')); if ($ret < 0) { - $mesg='<div class="error">'.$object->error.'</div>'; + setEventMessages($object->error, $object->errors, 'errors'); $error++; } } @@ -237,7 +237,7 @@ if (empty($reshook)) $ret=$object->addline_batch($batch_line[$i]); if ($ret < 0) { - $mesg='<div class="error">'.$object->error.'</div>'; + setEventMessages($object->error, $object->errors, 'errors'); $error++; } } @@ -249,14 +249,14 @@ if (empty($reshook)) $ret=$object->create($user); // This create shipment (like Odoo picking) and line of shipments. Stock movement will when validating shipment. if ($ret <= 0) { - $mesg='<div class="error">'.$object->error.'</div>'; + setEventMessages($object->error, $object->errors, 'errors'); $error++; } } } else { - $mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Qty")).'</div>'; + setEventMessages($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("QtyToShip")), null, 'errors'); $error++; } @@ -287,7 +287,7 @@ if (empty($reshook)) } else { - $mesg=$object->error; + setEventMessages($object->error, $object->errors, 'errors'); } } @@ -337,19 +337,18 @@ if (empty($reshook)) } else { - $langs->load("errors"); - setEventMessages($langs->trans($object->error), null, 'errors'); + setEventMessages($object->error, $object->errors, 'errors'); } } - - else if ($action == 'reopen' && (! empty($user->rights->expedition->creer) || ! empty($user->rights->expedition->shipping_advance->validate))) + // TODO add alternative status + /*else if ($action == 'reopen' && (! empty($user->rights->expedition->creer) || ! empty($user->rights->expedition->shipping_advance->validate))) { $result = $object->setStatut(0); if ($result < 0) { - $mesg = $object->error; + setEventMessages($object->error, $object->errors, 'errors'); } - } + }*/ else if ($action == 'setdate_livraison' && $user->rights->expedition->creer) { @@ -360,7 +359,7 @@ if (empty($reshook)) $result=$object->set_date_livraison($user,$datedelivery); if ($result < 0) { - $mesg='<div class="error">'.$object->error.'</div>'; + setEventMessages($object->error, $object->errors, 'errors'); } } @@ -485,8 +484,6 @@ if ($action == 'create') setEventMessages($langs->trans("ErrorBadParameters"), null, 'errors'); } - dol_htmloutput_mesg($mesg); - if ($origin) { $classname = ucfirst($origin); @@ -928,8 +925,6 @@ else if ($id || $ref) if ($object->id > 0) { - dol_htmloutput_mesg($mesg); - if (!empty($object->origin)) { $typeobject = $object->origin; @@ -943,8 +938,6 @@ else if ($id || $ref) $head=shipping_prepare_head($object); dol_fiche_head($head, 'shipping', $langs->trans("Shipment"), 0, 'sending'); - dol_htmloutput_mesg($mesg); - /* * Confirmation de la suppression */ diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index d7bfc9aed98..08b53bf9e25 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -1068,6 +1068,7 @@ class Expedition extends CommonObject break; } } + if ($error) break; // break for loop incase of error } } } diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 561b38977ac..dde89bfb6e5 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -139,15 +139,15 @@ class MouvementStock extends CommonObject $obj = $this->db->fetch_object($resql); if ($this->db->jdate($obj->eatby) != $eatby) { - $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->eatby), $eatby); - dol_syslog($langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->eatby), $eatby)); + $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->eatby)), dol_print_date($eatby)); + dol_syslog($langs->transnoentities("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->eatby)), dol_print_date($eatby)), LOG_ERR); $this->db->rollback(); return -3; } if ($this->db->jdate($obj->sellby) != $sellby) { - $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->sellby), $sellby); - dol_syslog($langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->sellby), $sellby)); + $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->sellby)), dol_print_date($sellby)); + dol_syslog($langs->transnoentities("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->sellby)), dol_print_date($sellby)), LOG_ERR); $this->db->rollback(); return -3; } -- GitLab