forked from Wavyzz/dolibarr
Fix: A better fix for default vat with 2 countries in EEC when customer nature is unknown.
Fix: Regression in propal after renaming propalid into id WARNING: Beta has started. Only fixes must be committed until a branch is created.
This commit is contained in:
@@ -1651,6 +1651,7 @@ if ($id > 0 || ! empty($ref))
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$propal->id.'#'.$objp->rowid.'" method="POST">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="updateligne">';
|
||||
print '<input type="hidden" name="id" value="'.$propal->id.'">';
|
||||
print '<input type="hidden" name="lineid" value="'.$_GET["lineid"].'">';
|
||||
print '<tr '.$bc[$var].'>';
|
||||
print '<td>';
|
||||
@@ -1748,9 +1749,10 @@ if ($id > 0 || ! empty($ref))
|
||||
print "</tr>\n";
|
||||
|
||||
// Add free products/services form
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$propal->id.'#add" method="POST">';
|
||||
print "\n".'<form action="'.$_SERVER["PHP_SELF"].'?id='.$propal->id.'#add" method="POST">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="addline">';
|
||||
print '<input type="hidden" name="id" value="'.$propal->id.'">';
|
||||
|
||||
print '<tr '.$bc[$var].">\n";
|
||||
print '<td '.$colspan.'>';
|
||||
@@ -1785,7 +1787,7 @@ if ($id > 0 || ! empty($ref))
|
||||
print '<td align="center" valign="middle" colspan="4"><input type="submit" class="button" value="'.$langs->trans('Add').'" name="addline"></td>';
|
||||
print '</tr>';
|
||||
|
||||
print '</form>';
|
||||
print '</form>'."\n";
|
||||
|
||||
// Ajout de produits/services predefinis
|
||||
if ($conf->product->enabled || $conf->service->enabled)
|
||||
@@ -1814,9 +1816,10 @@ if ($id > 0 || ! empty($ref))
|
||||
print '<td align="right">'.$langs->trans('ReductionShort').'</td>';
|
||||
print '<td colspan="4"> </td>';
|
||||
print '</tr>';
|
||||
print '<form id="addpredefinedproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$propal->id.'#add" method="POST">';
|
||||
print "\n".'<form id="addpredefinedproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$propal->id.'#add" method="POST">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="addline">';
|
||||
print '<input type="hidden" name="id" value="'.$propal->id.'">';
|
||||
|
||||
$var=!$var;
|
||||
|
||||
|
||||
@@ -234,6 +234,7 @@ if ($id > 0 || ! empty($ref))
|
||||
$var = false;
|
||||
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$id.'" method="POST">';
|
||||
print '<input type="hidden" name="id" value="'.$id.'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="addcontact">';
|
||||
print '<input type="hidden" name="source" value="internal">';
|
||||
@@ -265,6 +266,7 @@ if ($id > 0 || ! empty($ref))
|
||||
print '<form action="'.$_SERVER["PHP_SELF"].'?id='.$id.'" method="POST">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="addcontact">';
|
||||
print '<input type="hidden" name="id" value="'.$id.'">';
|
||||
print '<input type="hidden" name="source" value="external">';
|
||||
|
||||
// Ligne ajout pour contact externe
|
||||
|
||||
@@ -2587,33 +2587,27 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit, $
|
||||
// Si (vendeur et acheteur dans Communaute europeenne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle.
|
||||
// Non gere
|
||||
|
||||
// LVM modif car BUG de non prise en compte 'naturel' de "Affilié à la TVA" et prise en compte 'trop forte' de Num TVA vide...
|
||||
// Explication plus fine : l'information "Affilié à la TVA" n'est à utiliser que pour les tiers 'vendeur' (nous ou fournisseur)
|
||||
// et non 'acheteur' (les 'prospects') comme on pourrait le penser.
|
||||
// Il ne faut pas non plus que le non remplissage
|
||||
// du champ du numéro de TVA Intra empêche la mise de la TVA à 0 lorsque l'on
|
||||
// vend dans l'union européenne (en étant soi même dans l'union). En effet lorsque l'on
|
||||
// crée la proposition on ne connait pas forcément cette information du prospect.
|
||||
/*
|
||||
// Si (vendeur et acheteur dans Communaute europeenne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par defaut=TVA du produit vendu. Fin de regle
|
||||
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && ! $societe_acheteuse->tva_intra)
|
||||
// Si (vendeur et acheteur dans Communaute europeenne) et (acheteur = entreprise) alors TVA par defaut=0. Fin de regle
|
||||
// Si (vendeur et acheteur dans Communaute europeenne) et (acheteur = particulier) alors TVA par defaut=TVA du produit vendu. Fin de regle
|
||||
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()))
|
||||
{
|
||||
// Define if third party is treated as company of not when nature is unknown
|
||||
$isacompany=empty($conf->global->MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES)?0:1; // 0 by default
|
||||
if (! empty($societe_acheteuse->tva_intra)) $isacompany=1;
|
||||
else if (! empty($societe_acheteuse->typent_code) && in_array($societe_acheteuse->typent_code,array('TE_PRIVATE'))) $isacompany=0;
|
||||
else if (! empty($societe_acheteuse->typent_code) && in_array($societe_acheteuse->typent_code,array('TE_SMALL','TE_MEDIUM','TE_LARGE'))) $isacompany=1;
|
||||
|
||||
if ($isacompany)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($idprod) return get_product_vat_for_country($idprod,$societe_vendeuse->pays_code);
|
||||
if (strlen($taux_produit) == 0) return -1; // Si taux produit = '', on ne peut determiner taux tva
|
||||
return $taux_produit;
|
||||
}
|
||||
|
||||
// Si (vendeur et acheteur dans Communaute europeenne) et (acheteur = entreprise avec num TVA intra) alors TVA par defaut=0. Fin de regle
|
||||
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && $societe_acheteuse->tva_intra)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
if ($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
// Fin LVM Modif
|
||||
|
||||
// Sinon la TVA proposee par defaut=0. Fin de regle.
|
||||
// Rem: Cela signifie qu'au moins un des 2 est hors Communaute europeenne et que le pays differe
|
||||
|
||||
@@ -159,13 +159,15 @@ function dol_loginfunction($langs,$conf,$mysoc)
|
||||
$select_entity='';
|
||||
if (! empty($conf->global->MAIN_MODULE_MULTICOMPANY))
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT.'/multicompany/class/multicompany.class.php');
|
||||
|
||||
$res=@include_once(DOL_DOCUMENT_ROOT.'/multicompany/class/multicompany.class.php');
|
||||
if ($res)
|
||||
{
|
||||
$mc = new Multicompany($db);
|
||||
$mc->getEntities(0,1);
|
||||
|
||||
$select_entity=$mc->select_entities($mc->entities,$lastentity,'tabindex="3"');
|
||||
}
|
||||
}
|
||||
|
||||
// Security graphical code
|
||||
$captcha=0;
|
||||
|
||||
Reference in New Issue
Block a user