From 4f51c6cc461878e263ac7492fdc3da4e12855cec Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 10 Mar 2009 18:41:22 +0000 Subject: [PATCH] New: Some changes to support the type of line in entities. --- htdocs/fourn/facture/fiche.php | 23 ++++++++++++++-------- htdocs/fourn/fournisseur.facture.class.php | 9 +++++---- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/htdocs/fourn/facture/fiche.php b/htdocs/fourn/facture/fiche.php index 2eed72aac7e..7641cecf9fb 100644 --- a/htdocs/fourn/facture/fiche.php +++ b/htdocs/fourn/facture/fiche.php @@ -141,15 +141,15 @@ if($_GET['action'] == 'deletepaiement') if ($_POST['action'] == 'update' && ! $_POST['cancel']) { - $datefacture = $db->idate(mktime(12, 0 , 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear'])); - $date_echeance = $db->idate(mktime(12,0,0,$_POST['echmonth'],$_POST['echday'],$_POST['echyear'])); + $datefacture = dol_mktime(12, 0 , 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); + $date_echeance = dol_mktime(12,0,0,$_POST['echmonth'],$_POST['echday'],$_POST['echyear']); $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture_fourn set '; $sql .= " facnumber='".addslashes(trim($_POST['facnumber']))."'"; $sql .= ", libelle='".addslashes(trim($_POST['libelle']))."'"; $sql .= ", note='".$_POST['note']."'"; - $sql .= ", datef = '$datefacture'"; - $sql .= ", date_lim_reglement = '$date_echeance'"; + $sql .= ", datef = '".$db->idate($datefacture)."'"; + $sql .= ", date_lim_reglement = '".$db->idate($date_echeance)."'"; $sql .= ' WHERE rowid = '.$_GET['facid'].' ;'; $result = $db->query( $sql); } @@ -273,13 +273,15 @@ if ($_REQUEST['action'] == 'update_line') $prod = new Product($db); $prod->fetch($_POST['idprod']); $label = $prod->libelle; + $type = $prod->type; } else { $label = $_POST['label']; + $type = $_POST["type"]?$_POST["type"]:0; } - $facfou->updateline($_GET['ligne_id'], $label, $pu, $_POST['tauxtva'], $_POST['qty'], $_POST['idprod'], $price_base_type); + $facfou->updateline($_GET['ligne_id'], $label, $pu, $_POST['tauxtva'], $_POST['qty'], $_POST['idprod'], $price_base_type, 0, $type); } } @@ -313,6 +315,7 @@ if ($_GET['action'] == 'add_ligne') } $tvatx=get_default_tva($societe,$mysoc,$nv_prod->tva_tx); + $type = $nv_prod->type; $result=$facfou->addline($label, $nv_prod->fourn_pu, $tvatx, $_POST['qty'], $idprod); } @@ -331,16 +334,20 @@ if ($_GET['action'] == 'add_ligne') } else { - if (!empty($_POST['amount'])) + $type = $_POST["type"]; + if (! empty($_POST['amount'])) { $ht = price2num($_POST['amount']); - $facfou->addline($_POST['label'], $ht, $tauxtva, $_POST['qty']); + $price_base_type = 'HT'; + //$desc, $pu, $txtva, $qty, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits='', $price_base_type='HT', $type=0) + $facfou->addline($_POST['label'], $ht, $tauxtva, $_POST['qty'], 0, 0, $datestart, $dateend, 0, 0, $price_base_type, $type); } else { $ttc = price2num($_POST['amountttc']); $ht = $ttc / (1 + ($tauxtva / 100)); - $facfou->addline($_POST['label'], $ht, $tauxtva, $_POST['qty']); + $price_base_type = 'HT'; + $facfou->addline($_POST['label'], $ht, $tauxtva, $_POST['qty'], 0, 0, $datestart, $dateend, 0, 0, $price_base_type, $type); } } } diff --git a/htdocs/fourn/fournisseur.facture.class.php b/htdocs/fourn/fournisseur.facture.class.php index ff589ed0c39..846e7118fd3 100644 --- a/htdocs/fourn/fournisseur.facture.class.php +++ b/htdocs/fourn/fournisseur.facture.class.php @@ -482,14 +482,15 @@ class FactureFournisseur extends Facture * \param ventil Code de ventilation comptable * \param info_bits Bits de type de lignes * \param price_base_type HT ou TTC + * \param type Type of line (0=product, 1=service) * \remarks Les parametres sont deja cens� etre juste et avec valeurs finales a l'appel * de cette methode. Aussi, pour le taux tva, il doit deja avoir ete d�fini * par l'appelant par la methode get_default_tva(societe_vendeuse,societe_acheteuse,taux_produit) * et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue) */ - function addline($desc, $pu, $txtva, $qty, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits='', $price_base_type='HT') + function addline($desc, $pu, $txtva, $qty, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits='', $price_base_type='HT', $type=0) { - dol_syslog("FactureFourn::Addline $desc,$pu,$qty,$txtva,$fk_product,$remise_percent,$date_start,$date_end,$ventil,$info_bits", LOG_DEBUG); + dol_syslog("FactureFourn::Addline $desc,$pu,$qty,$txtva,$fk_product,$remise_percent,$date_start,$date_end,$ventil,$info_bits,$price_base_type,$type", LOG_DEBUG); include_once(DOL_DOCUMENT_ROOT.'/lib/price.lib.php'); $this->db->begin(); @@ -508,7 +509,7 @@ class FactureFournisseur extends Facture { $idligne = $this->db->last_insert_id(MAIN_DB_PREFIX.'facture_fourn_det'); - $result=$this->updateline($idligne, $desc, $pu, $txtva, $qty, $fk_product, $price_base_type); + $result=$this->updateline($idligne, $desc, $pu, $txtva, $qty, $fk_product, $price_base_type, $info_bits, $type); if ($result > 0) { $this->db->commit(); @@ -602,7 +603,7 @@ class FactureFournisseur extends Facture else { $this->error=$this->db->error(); - dol_syslog("Fournisseur.facture::updateline error=".$this->error); + dol_syslog("Fournisseur.facture::updateline error=".$this->error, LOG_ERR); return -1; } }