Fix: A lot of feature was lost because global variables were not propagated into templates.

This commit is contained in:
Laurent Destailleur 2010-09-15 14:11:43 +00:00
parent b4eb8ae2f2
commit ff50085340
2 changed files with 21 additions and 18 deletions

View File

@ -2431,7 +2431,7 @@ class Form
}
//var_dump($societe_acheteuse);
//print "name=$name, selectedrate=$selectedrate, seller=".$societe_vendeuse->pays_code." buyer=".$societe_acheteuse->pays_code." idprod=$idprod, info_bits=$info_bits type=$type";
//print "name=$name, selectedrate=$selectedrate, seller=".$societe_vendeuse->pays_code." buyer=".$societe_acheteuse->pays_code." buyer is company=".$societe_acheteuse->isACompany()." idprod=$idprod, info_bits=$info_bits type=$type";
//exit;
// Get list of all VAT rates to show
@ -2444,27 +2444,30 @@ class Form
{
$code_pays="'".$mysoc->pays_code."'"; // Pour compatibilite ascendente
}
if (! empty($conf->global->SERVICES_ARE_ECOMMERCE_200238EC) && is_object($societe_acheteuse))
if (! empty($conf->global->SERVICE_ARE_ECOMMERCE_200238EC)) // If option to have vat for end customer for services is on
{
// We also add the buyer
if (is_numeric($type))
if (! $societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC() && ! $societe_acheteuse->isACompany())
{
if ($type == 1) // We know product is a service
// We also add the buyer
if (is_numeric($type))
{
if ($type == 1) // We know product is a service
{
$code_pays.=",'".$societe_acheteuse->pays_code."'";
}
}
else if (! $idprod) // We don't know type of product
{
$code_pays.=",'".$societe_acheteuse->pays_code."'";
}
}
else if (! $idprod) // We don't know type of product
{
$code_pays.=",'".$societe_acheteuse->pays_code."'";
}
else
{
$prodstatic=new Product($this->db);
$prodstatic->fetch($idprod);
if ($prodstatic->type == 1) // We know product is a service
else
{
$code_pays.=",'".$societe_acheteuse->pays_code."'";
$prodstatic=new Product($this->db);
$prodstatic->fetch($idprod);
if ($prodstatic->type == 1) // We know product is a service
{
$code_pays.=",'".$societe_acheteuse->pays_code."'";
}
}
}
}

View File

@ -2634,7 +2634,7 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $idprod=0)
if (!is_object($societe_vendeuse)) return -1;
if (!is_object($societe_acheteuse)) return -1;
dol_syslog("get_default_tva: seller use vat=".$societe_vendeuse->tva_assuj.", seller country=".$societe_vendeuse->pays_code.", seller in cee=".$societe_vendeuse->isInEEC().", buyer country=".$societe_acheteuse->pays_code.", buyer in cee=".$societe_acheteuse->isInEEC().", idprod=".$idprod.", SERVICES_ARE_ECOMMERCE_200238EC=".$conf->global->SERVICES_ARE_ECOMMERCE_200238EC);
dol_syslog("get_default_tva: seller use vat=".$societe_vendeuse->tva_assuj.", seller country=".$societe_vendeuse->pays_code.", seller in cee=".$societe_vendeuse->isInEEC().", buyer country=".$societe_acheteuse->pays_code.", buyer in cee=".$societe_acheteuse->isInEEC().", idprod=".$idprod.", SERVICE_ARE_ECOMMERCE_200238EC=".$conf->global->SERVICES_ARE_ECOMMERCE_200238EC);
// Si vendeur non assujeti a TVA (tva_assuj vaut 0/1 ou franchise/reel)
if (is_numeric($societe_vendeuse->tva_assuj) && ! $societe_vendeuse->tva_assuj) return 0;
@ -2668,7 +2668,7 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $idprod=0)
// If services are eServices according to EU Council Directive 2002/38/EC (ec.europa.eu/taxation_customs/taxation/v.../article_1610_en.htm)
// we use the buyer VAT.
if (! empty($conf->global->SERVICES_ARE_ECOMMERCE_200238EC))
if (! empty($conf->global->SERVICE_ARE_ECOMMERCE_200238EC))
{
//print "eee".$societe_acheteuse->isACompany();exit;
if (! $societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC() && ! $societe_acheteuse->isACompany())