diff --git a/htdocs/contrat/contrat.class.php b/htdocs/contrat/contrat.class.php index 41c6132e4f1..4bf7500894f 100644 --- a/htdocs/contrat/contrat.class.php +++ b/htdocs/contrat/contrat.class.php @@ -435,22 +435,20 @@ class Contrat * \param remise_percent Pourcentage de remise de la ligne * \param datestart Date de debut prévue * \param dateend Date de fin prévue + * \param tvatx Taux TVA * \return int < 0 si erreur, > 0 si ok */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent=0, $datestart='', $dateend='') + function updateline($rowid, $desc, $pu, $qty, $remise_percent=0, $datestart='', $dateend='', $tvatx) { - dolibarr_syslog("Contrat::UpdateLine $rowid, $desc, $pu, $qty, $remise_percent, $datestart, $dateend"); - - $this->db->begin(); - - if (strlen(trim($qty))==0) - { - $qty=1; - } - $remise = 0; + // Nettoyage parametres + $qty=trim($qty); + $desc=trim($desc); + $desc=trim($desc); $price = ereg_replace(",",".",$pu); + $tvatx = ereg_replace(",",".",$tvatx); $subprice = $price; - if (trim(strlen($remise_percent)) > 0) + $remise = 0; + if (strlen($remise_percent) > 0) { $remise = round(($pu * $remise_percent / 100), 2); $price = $pu - $remise; @@ -460,12 +458,17 @@ class Contrat $remise_percent=0; } + dolibarr_syslog("Contrat::UpdateLine $rowid, $desc, $pu, $qty, $remise_percent, $datestart, $dateend, $tvatx"); + + $this->db->begin(); + $sql = "UPDATE ".MAIN_DB_PREFIX."contratdet set description='".addslashes($desc)."'"; - $sql .= ",price_ht='" . ereg_replace(",",".",$price)."'"; + $sql .= ",price_ht='" . ereg_replace(",",".",$price)."'"; $sql .= ",subprice='" . ereg_replace(",",".",$subprice)."'"; - $sql .= ",remise='". ereg_replace(",",".",$remise)."'"; + $sql .= ",remise='" . ereg_replace(",",".",$remise)."'"; $sql .= ",remise_percent='".ereg_replace(",",".",$remise_percent)."'"; $sql .= ",qty='$qty'"; + $sql .= ",tva_tx='". ereg_replace(",",".",$tvatx)."'"; if ($datestart > 0) { $sql.= ",date_ouverture_prevue=".$this->db->idate($datestart); } else { $sql.=",date_ouverture_prevue=null"; } diff --git a/htdocs/contrat/fiche.php b/htdocs/contrat/fiche.php index 54f087286f7..e8aedf907c7 100644 --- a/htdocs/contrat/fiche.php +++ b/htdocs/contrat/fiche.php @@ -18,7 +18,6 @@ * * $Id$ * $Source$ - * */ /** @@ -42,14 +41,14 @@ $user->getrights('contrat'); if (! $user->rights->contrat->lire) accessforbidden(); -$date_start_update=mktime(12, 0 , 0, $_POST["date_start_updatemonth"], $_POST["date_start_updateday"], $_POST["date_start_updateyear"]); -$date_end_update=mktime(12, 0 , 0, $_POST["date_end_updatemonth"], $_POST["date_end_updateday"], $_POST["date_end_updateyear"]); -$date_start=mktime(12, 0 , 0, $_POST["date_startmonth"], $_POST["date_startday"], $_POST["date_startyear"]); -$date_end=mktime(12, 0 , 0, $_POST["date_endmonth"], $_POST["date_endday"], $_POST["date_endyear"]); +$startyear=isset($_POST["date_startyear"])&&$_POST["date_startyear"]?$_POST["date_startyear"]:0; +$endyear=isset($_POST["date_endyear"])&&$_POST["date_endyear"]?$_POST["date_endyear"]:0; +$date_start_update=mktime(12, 0 , 0, $_POST["date_start_updatemonth"], $_POST["date_start_updateday"], $startyear); +$date_end_update=mktime(12, 0 , 0, $_POST["date_end_updatemonth"], $_POST["date_end_updateday"], $startyear); +$date_start=mktime(12, 0 , 0, $_POST["date_startmonth"], $_POST["date_startday"], $endyear); +$date_end=mktime(12, 0 , 0, $_POST["date_endmonth"], $_POST["date_endday"], $endyear); -/* - * Sécurité accés client - */ +// Sécurité accés client if ($user->societe_id > 0) { $action = ''; @@ -104,32 +103,35 @@ if ($_POST["action"] == 'classin') if ($_POST["action"] == 'addligne' && $user->rights->contrat->creer) { - $result = 0; - $contrat = new Contrat($db); - $result=$contrat->fetch($_GET["id"]); - if (($_POST["p_idprod"] > 0 && $_POST["mode"]=='predefined') || ($_POST["mode"]=='libre')) + if ($_POST["pqty"] && (($_POST["pu"] && $_POST["desc"]) || $_POST["p_idprod"])) { - //print $_POST["desc"]." - ".$_POST["pu"]." - ".$_POST["pqty"]." - ".$_POST["tva_tx"]." - ".$_POST["p_idprod"]." - ".$_POST["premise"]; exit; - $result = $contrat->addline( - $_POST["desc"], - $_POST["pu"], - $_POST["pqty"], - $_POST["tva_tx"], - $_POST["p_idprod"], - $_POST["premise"], - $date_start, - $date_end - ); - } - - if ($result >= 0) - { - Header("Location: fiche.php?id=".$contrat->id); - exit; - } - else - { - $mesg='