Skip to content
Snippets Groups Projects
Commit a39c95e3 authored by Regis Houssin's avatar Regis Houssin
Browse files

Fix: error sql

Fix: don't delete order if shipping exist
Fix: uniformize code
parent cdf52caf
Branches
Tags
No related merge requests found
......@@ -1461,9 +1461,11 @@ class Commande extends CommonObject
function nb_expedition()
{
$sql = 'SELECT count(*)';
$sql.= ' FROM '.MAIN_DB_PREFIX.'expedition as e,';
$sql.= ' '.MAIN_DB_PREFIX."element_element as el ON el.fk_target = e.rowid AND el.targettype = 'shipping'";
$sql.= " WHERE el.fk_source = ".$this->id;
$sql.= ' FROM '.MAIN_DB_PREFIX.'expedition as e';
$sql.= ', '.MAIN_DB_PREFIX.'element_element as el';
$sql.= ' WHERE el.fk_source = '.$this->id;
$sql.= " AND el.fk_target = e.rowid";
$sql.= " AND el.targettype = 'shipping'";
$resql = $this->db->query($sql);
if ($resql)
......
......@@ -1865,18 +1865,14 @@ else
// Valid
if ($object->statut == 0 && $object->total_ttc >= 0 && $numlines > 0 && $user->rights->commande->valider)
{
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=validate"';
print '>'.$langs->trans('Validate').'</a>';
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=validate">'.$langs->trans('Validate').'</a>';
}
// Edit
if ($object->statut == 1)
{
if ($user->rights->commande->creer)
if ($object->statut == 1 && $user->rights->commande->creer)
{
print '<a class="butAction" href="fiche.php?id='.$object->id.'&amp;action=modif">'.$langs->trans('Modify').'</a>';
}
}
// Send
if ($object->statut > 0)
......@@ -1893,24 +1889,16 @@ else
}
// Ship
$numshipping=0;
if ($conf->expedition->enabled)
{
$numshipping = $object->nb_expedition();
if ($object->statut > 0 && $object->statut < 3 && $object->getNbOfProductsLines() > 0)
{
if ($user->rights->expedition->creer)
{
// Chargement des permissions
/*$error = $user->load_entrepots(); deprecated
if (sizeof($user->entrepots) === 1)
{
print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/fiche.php?id='.$id.'&amp;action=create&amp;commande_id='.$id.'&entrepot_id='.$user->entrepots[0]['id'].'">';
print $langs->trans('ShipProduct').'</a>';
}
else
{*/
print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/shipment.php?id='.$object->id.'">'.$langs->trans('ShipProduct').'</a>';
//}
}
else
{
......@@ -1940,13 +1928,9 @@ else
}
// Close
if ($object->statut == 1 || $object->statut == 2)
{
if ($user->rights->commande->cloturer)
if (($object->statut == 1 || $object->statut == 2) && $user->rights->commande->cloturer)
{
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=close"';
print '>'.$langs->trans('Close').'</a>';
}
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=close">'.$langs->trans('Close').'</a>';
}
// Clone
......@@ -1956,21 +1940,22 @@ else
}
// Cancel order
if ($object->statut == 1)
{
$nb_expedition = $object->nb_expedition();
if ($user->rights->commande->annuler && $nb_expedition == 0)
if ($object->statut == 1 && $user->rights->commande->annuler)
{
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=cancel"';
print '>'.$langs->trans('Cancel').'</a>';
}
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=cancel">'.$langs->trans('Cancel').'</a>';
}
// Delete order
if ($user->rights->commande->supprimer)
{
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=delete"';
print '>'.$langs->trans('Delete').'</a>';
if ($numshipping == 0)
{
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=delete">'.$langs->trans('Delete').'</a>';
}
else
{
print '<a class="butActionRefused" href="#" title="'.$langs->trans("ShippingExist").'">'.$langs->trans("Delete").'</a>';
}
}
print '</div>';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment