Fix: Better error management

This commit is contained in:
Laurent Destailleur 2012-03-01 09:35:04 +01:00
parent 9174182a27
commit 7cd88b8fce

View File

@ -71,6 +71,8 @@ $object = new Expedition($db);
if ($action == 'add') if ($action == 'add')
{ {
$error=0;
$db->begin(); $db->begin();
$object->note = $_POST["note"]; $object->note = $_POST["note"];
@ -100,23 +102,52 @@ if ($action == 'add')
$object->tracking_number = $_POST["tracking_number"]; $object->tracking_number = $_POST["tracking_number"];
$object->ref_int = $_POST["ref_int"]; $object->ref_int = $_POST["ref_int"];
//var_dump($_POST);exit; $num=count($objectsrc->lines);
$num=count($objectsrc->lines); $totalqty=0;
for ($i = 0; $i < $num; $i++) for ($i = 0; $i < $num; $i++)
{ {
$qty = "qtyl".$i; $qty = "qtyl".$i;
if ($_POST[$qty] > 0) if ($_POST[$qty] > 0) $totalqty+=$_POST[$qty];
{
$ent = "entl".$i;
$idl = "idl".$i;
$entrepot_id = isset($_POST[$ent])?$_POST[$ent]:$_POST["entrepot_id"];
$object->addline($entrepot_id,$_POST[$idl],$_POST[$qty]);
}
} }
$ret=$object->create($user); if ($totalqty > 0)
if ($ret > 0) {
//var_dump($_POST);exit;
for ($i = 0; $i < $num; $i++)
{
$qty = "qtyl".$i;
if ($_POST[$qty] > 0)
{
$ent = "entl".$i;
$idl = "idl".$i;
$entrepot_id = isset($_POST[$ent])?$_POST[$ent]:$_POST["entrepot_id"];
$ret=$object->addline($entrepot_id,$_POST[$idl],$_POST[$qty]);
if ($ret < 0)
{
$mesg='<div class="error">'.$object->error.'</div>';
$error++;
}
}
}
if (! $error)
{
$ret=$object->create($user);
if ($ret <= 0)
{
$mesg='<div class="error">'.$object->error.'</div>';
$error++;
}
}
}
else
{
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Qty")).'</div>';
$error++;
}
if (! $error)
{ {
$db->commit(); $db->commit();
Header("Location: fiche.php?id=".$object->id); Header("Location: fiche.php?id=".$object->id);
@ -125,7 +156,6 @@ if ($action == 'add')
else else
{ {
$db->rollback(); $db->rollback();
$mesg='<div class="error">'.$object->error.'</div>';
$_GET["commande_id"]=$_POST["commande_id"]; $_GET["commande_id"]=$_POST["commande_id"];
$action='create'; $action='create';
} }
@ -567,7 +597,7 @@ if ($action == 'create')
print '</tr>'; print '</tr>';
// Date delivery planned // Date delivery planned
print '<tr><td class="fieldrequired">'.$langs->trans("DateDeliveryPlanned").'</td>'; print '<tr><td>'.$langs->trans("DateDeliveryPlanned").'</td>';
print '<td colspan="3">'; print '<td colspan="3">';
//print dol_print_date($object->date_livraison,"day"); // date_livraison come from order and will be stored into date_delivery planed. //print dol_print_date($object->date_livraison,"day"); // date_livraison come from order and will be stored into date_delivery planed.
print $form->select_date($object->date_livraison?$object->date_livraison:-1,'date_delivery',1,1); print $form->select_date($object->date_livraison?$object->date_livraison:-1,'date_delivery',1,1);