diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index f4ac06719a68369516af7066629487693550705e..83b2c719e8161f8ca07a733d10e26598d579b86b 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -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) diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php index b6710612085f628515ec874752a5967a1b21202a..5a6e568e6306f8d8c02a7181ebfc228fb200e58c 100644 --- a/htdocs/commande/fiche.php +++ b/htdocs/commande/fiche.php @@ -1865,17 +1865,13 @@ 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.'&action=validate"'; - print '>'.$langs->trans('Validate').'</a>'; + print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=validate">'.$langs->trans('Validate').'</a>'; } // Edit - if ($object->statut == 1) + if ($object->statut == 1 && $user->rights->commande->creer) { - if ($user->rights->commande->creer) - { - print '<a class="butAction" href="fiche.php?id='.$object->id.'&action=modif">'.$langs->trans('Modify').'</a>'; - } + print '<a class="butAction" href="fiche.php?id='.$object->id.'&action=modif">'.$langs->trans('Modify').'</a>'; } // Send @@ -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.'&action=create&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 (($object->statut == 1 || $object->statut == 2) && $user->rights->commande->cloturer) { - if ($user->rights->commande->cloturer) - { - print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=close"'; - print '>'.$langs->trans('Close').'</a>'; - } + print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=close">'.$langs->trans('Close').'</a>'; } // Clone @@ -1956,21 +1940,22 @@ else } // Cancel order - if ($object->statut == 1) + if ($object->statut == 1 && $user->rights->commande->annuler) { - $nb_expedition = $object->nb_expedition(); - if ($user->rights->commande->annuler && $nb_expedition == 0) - { - print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=cancel"'; - print '>'.$langs->trans('Cancel').'</a>'; - } + print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=cancel">'.$langs->trans('Cancel').'</a>'; } // Delete order if ($user->rights->commande->supprimer) { - print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=delete"'; - print '>'.$langs->trans('Delete').'</a>'; + if ($numshipping == 0) + { + print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=delete">'.$langs->trans('Delete').'</a>'; + } + else + { + print '<a class="butActionRefused" href="#" title="'.$langs->trans("ShippingExist").'">'.$langs->trans("Delete").'</a>'; + } } print '</div>';