2
0
forked from Wavyzz/dolibarr

Fix: Minor fix

This commit is contained in:
Laurent Destailleur
2010-03-28 23:26:14 +00:00
parent a266e92bd0
commit f076c00dcd
2 changed files with 28 additions and 23 deletions

View File

@@ -1051,12 +1051,12 @@ function dol_trunc($string,$size=40,$trunc='right',$stringencoding='')
function img_object($alt, $object) function img_object($alt, $object)
{ {
global $conf,$langs; global $conf,$langs;
if (preg_match('/^([^@]+)@([^@]+)$/i',$object,$regs)) if (preg_match('/^([^@]+)@([^@]+)$/i',$object,$regs))
{ {
return '<img src="'.DOL_URL_ROOT.'/'.$regs[2].'/img/object_'.$regs[1].'.png" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'">'; return '<img src="'.DOL_URL_ROOT.'/'.$regs[2].'/img/object_'.$regs[1].'.png" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'">';
} }
return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/object_'.$object.'.png" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'">'; return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/object_'.$object.'.png" border="0" alt="'.dol_escape_htmltag($alt).'" title="'.dol_escape_htmltag($alt).'">';
} }
@@ -2526,16 +2526,17 @@ function price2num($amount,$rounding='',$alreadysqlnb=0)
} }
/** /**
* \brief Return localtaxe rate for a particular tva * \brief Return localtaxe rate for a particular tva
* \param tva Vat taxe * \param tva Vat taxe
* \param local Local taxe to search and return * \param local Local taxe to search and return
* \return int <0 if KO, localtax if found
*/ */
function get_localtax($tva, $local=0) function get_localtax($tva, $local)
{ {
global $db, $conf, $mysoc; global $db, $conf, $mysoc;
$code_pays=$mysoc->pays_code; $code_pays=$mysoc->pays_code;
// Search local taxes // Search local taxes
$sql = "SELECT t.localtax1, t.localtax2"; $sql = "SELECT t.localtax1, t.localtax2";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p"; $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
@@ -2550,6 +2551,8 @@ function get_localtax($tva, $local=0)
if ($local==1) return $obj->localtax1; if ($local==1) return $obj->localtax1;
elseif ($local==2) return $obj->localtax2; elseif ($local==2) return $obj->localtax2;
} }
return -1;
} }
/** /**
@@ -2670,7 +2673,7 @@ function get_default_localtax($societe_vendeuse, $societe_acheteuse, $local, $id
{ {
if (!is_object($societe_vendeuse)) return -1; if (!is_object($societe_vendeuse)) return -1;
if (!is_object($societe_acheteuse)) return -1; if (!is_object($societe_acheteuse)) return -1;
if($societe_vendouse->pays_id=='ES') if($societe_vendouse->pays_id=='ES')
{ {
if ($local=='1') //RE if ($local=='1') //RE
@@ -2678,17 +2681,17 @@ function get_default_localtax($societe_vendeuse, $societe_acheteuse, $local, $id
// Si achatteur non assujeti a RE, localtax1 par default=0 // Si achatteur non assujeti a RE, localtax1 par default=0
if (is_numeric($societe_acheteuse->localtax1_assuj) && ! $societe_acheteuse->localtax1_assuj) return 0; if (is_numeric($societe_acheteuse->localtax1_assuj) && ! $societe_acheteuse->localtax1_assuj) return 0;
if (! is_numeric($societe_acheteuse->localtax1_assuj) && $societe_acheteuse->localtax1_assuj=='localtax1off') return 0; if (! is_numeric($societe_acheteuse->localtax1_assuj) && $societe_acheteuse->localtax1_assuj=='localtax1off') return 0;
} }
elseif ($local=='2') //IRPF elseif ($local=='2') //IRPF
{ {
// Si vendeur non assujeti a IRPF, localtax2 par default=0 // Si vendeur non assujeti a IRPF, localtax2 par default=0
if (is_numeric($societe_vendeuse->localtax2_assuj) && ! $societe_vendeuse->localtax2_assuj) return 0; if (is_numeric($societe_vendeuse->localtax2_assuj) && ! $societe_vendeuse->localtax2_assuj) return 0;
if (! is_numeric($societe_vendeuse->localtax2_assuj) && $societe_vendeuse->localtax2_assuj=='localtax2off') return 0; if (! is_numeric($societe_vendeuse->localtax2_assuj) && $societe_vendeuse->localtax2_assuj=='localtax2off') return 0;
} else return -1; } else return -1;
if ($idprod) return get_product_localtax_for_country($idprod, $local, $societe_vendeuse->pays_code); if ($idprod) return get_product_localtax_for_country($idprod, $local, $societe_vendeuse->pays_code);
if (strlen($taux_produit) == 0) return -1; if (strlen($taux_produit) == 0) return -1;
return $taux_produit; return $taux_produit;
} }
return 0; return 0;
} }

View File

@@ -194,7 +194,7 @@ class Product extends CommonObject
//Local taxes //Local taxes
if (empty($this->localtax1_tx)) $this->localtax1_tx = 0; if (empty($this->localtax1_tx)) $this->localtax1_tx = 0;
if (empty($this->localtax2_tx)) $this->localtax2_tx = 0; if (empty($this->localtax2_tx)) $this->localtax2_tx = 0;
if (empty($this->price)) $this->price = 0; if (empty($this->price)) $this->price = 0;
if (empty($this->price_min)) $this->price_min = 0; if (empty($this->price_min)) $this->price_min = 0;
if (empty($this->status)) $this->status = 0; if (empty($this->status)) $this->status = 0;
@@ -421,7 +421,7 @@ class Product extends CommonObject
//Local taxes //Local taxes
if (empty($this->localtax1_tx)) $this->localtax1_tx = 0; if (empty($this->localtax1_tx)) $this->localtax1_tx = 0;
if (empty($this->localtax2_tx)) $this->localtax2_tx = 0; if (empty($this->localtax2_tx)) $this->localtax2_tx = 0;
if (empty($this->finished)) $this->finished = 0; if (empty($this->finished)) $this->finished = 0;
if (empty($this->hidden)) $this->hidden = 0; if (empty($this->hidden)) $this->hidden = 0;
$this->accountancy_code_buy = trim($this->accountancy_code_buy); $this->accountancy_code_buy = trim($this->accountancy_code_buy);
@@ -431,11 +431,11 @@ class Product extends CommonObject
$sql.= " SET label = '" . addslashes($this->libelle) ."'"; $sql.= " SET label = '" . addslashes($this->libelle) ."'";
$sql.= ",ref = '" . $this->ref ."'"; $sql.= ",ref = '" . $this->ref ."'";
$sql.= ",tva_tx = " . $this->tva_tx; $sql.= ",tva_tx = " . $this->tva_tx;
//Local taxes //Local taxes
$sql.= ",localtax1_tx = " . $this->localtax1_tx; $sql.= ",localtax1_tx = " . $this->localtax1_tx;
$sql.= ",localtax2_tx = " . $this->localtax2_tx; $sql.= ",localtax2_tx = " . $this->localtax2_tx;
$sql.= ",envente = " . $this->status; $sql.= ",envente = " . $this->status;
$sql.= ",finished = " . ($this->finished<0 ? "null" : $this->finished); $sql.= ",finished = " . ($this->finished<0 ? "null" : $this->finished);
$sql.= ",hidden = " . ($this->hidden<0 ? "null" : $this->hidden); $sql.= ",hidden = " . ($this->hidden<0 ? "null" : $this->hidden);
@@ -884,11 +884,13 @@ class Product extends CommonObject
} }
} }
//print 'x'.$id.'-'.$newprice.'-'.$newpricebase.'-'.$price.'-'.$price_ttc.'-'.$price_min.'-'.$price_min_ttc; //print 'x'.$id.'-'.$newprice.'-'.$newpricebase.'-'.$price.'-'.$price_ttc.'-'.$price_min.'-'.$price_min_ttc;
//Local taxes //Local taxes
$localtax1=get_localtax($newvat,1); $localtax1=get_localtax($newvat,1);
$localtax2=get_localtax($newvat,2); $localtax2=get_localtax($newvat,2);
if (empty($localtax1)) $localtax1=0; // If = '' then = 0
if (empty($localtax2)) $localtax2=0; // If = '' then = 0
// Ne pas mettre de quote sur le numeriques decimaux. // Ne pas mettre de quote sur le numeriques decimaux.
// Ceci provoque des stockage avec arrondis en base au lieu des valeurs exactes. // Ceci provoque des stockage avec arrondis en base au lieu des valeurs exactes.
$sql = "UPDATE ".MAIN_DB_PREFIX."product SET"; $sql = "UPDATE ".MAIN_DB_PREFIX."product SET";
@@ -897,8 +899,8 @@ class Product extends CommonObject
$sql.= " price_ttc=".$price_ttc.","; $sql.= " price_ttc=".$price_ttc.",";
$sql.= " price_min=".$price_min.","; $sql.= " price_min=".$price_min.",";
$sql.= " price_min_ttc=".$price_min_ttc.","; $sql.= " price_min_ttc=".$price_min_ttc.",";
$sql.= " localtax1_tx=".$localtax1.","; $sql.= " localtax1_tx=".($localtax1>=0?$localtax1:'NULL').",";
$sql.= " localtax2_tx=".$localtax2.","; $sql.= " localtax2_tx=".($localtax2>=0?$localtax2:'NULL').",";
$sql.= " tva_tx='".price2num($newvat)."'"; $sql.= " tva_tx='".price2num($newvat)."'";
$sql.= " WHERE rowid = " . $id; $sql.= " WHERE rowid = " . $id;
@@ -914,8 +916,8 @@ class Product extends CommonObject
$this->tva_tx = $newvat; $this->tva_tx = $newvat;
//Local taxes //Local taxes
$this->localtax1_tx = $localtax1; $this->localtax1_tx = $localtax1;
$this->localtax2_tx = $localtax2; $this->localtax2_tx = $localtax2;
$this->_log_price($user,$level); $this->_log_price($user,$level);
} }
else else
@@ -979,7 +981,7 @@ class Product extends CommonObject
//Local taxes //Local taxes
$this->localtax1_tx = $result["localtax1_tx"]; $this->localtax1_tx = $result["localtax1_tx"];
$this->localtax2_tx = $result["localtax2_tx"]; $this->localtax2_tx = $result["localtax2_tx"];
$this->type = $result["fk_product_type"]; $this->type = $result["fk_product_type"];
$this->status = $result["envente"]; $this->status = $result["envente"];
$this->finished = $result["finished"]; $this->finished = $result["finished"];