From 75258b6cbaa52de86319a7cc06428dac3f3220ac Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 1 Sep 2005 22:53:08 +0000 Subject: [PATCH] =?UTF-8?q?Possibilit=E9=20de=20modifier=20le=20descriptif?= =?UTF-8?q?=20et=20le=20taux=20de=20tva=20y=20compris=20sur=20les=20lignes?= =?UTF-8?q?=20de=20produits=20pr=E9d=E9finis.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/contrat/contrat.class.php | 29 ++++++----- htdocs/contrat/fiche.php | 84 ++++++++++++++++++-------------- 2 files changed, 63 insertions(+), 50 deletions(-) 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='
'.$contrat->error.'
'; + $result = 0; + $contrat = new Contrat($db); + $result=$contrat->fetch($_GET["id"]); + if (($_POST["p_idprod"] > 0 && $_POST["mode"]=='predefined') || ($_POST["mode"]=='libre')) + { + //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='
'.$contrat->error.'
'; + } } } @@ -144,7 +146,8 @@ if ($_POST["action"] == 'updateligne' && $user->rights->contrat->creer) $_POST["elqty"], $_POST["elremise_percent"], $date_start_update, - $date_end_update + $date_end_update, + $_POST["eltva_tx"] ); if ($result > 0) { @@ -705,6 +708,8 @@ else print ''; print ''; } + + // Ligne en mode update else { print "
"; @@ -712,10 +717,16 @@ else print ''; // Ligne carac print ""; - print ''; + print ''; print ''; - print img_object($langs->trans("ShowService"),"service").' '.$objp->label.'
'; + if ($objp->label) + { + print img_object($langs->trans("ShowService"),"service").' '.$objp->label.'
'; + } print ''; + print ''; + print $html->select_tva("eltva_tx",$objp->tva_tx); + print ''; print ''; print ''; print '%'; @@ -730,7 +741,6 @@ else print ''; print ''; - print '' . "\n"; print "
\n"; } $i++;