New: VAT number is saved in one field only. This is more "international".

This commit is contained in:
Laurent Destailleur 2009-12-09 13:17:16 +00:00
parent 526fef3a4f
commit ffaa8dc08f
7 changed files with 48 additions and 62 deletions

View File

@ -9,6 +9,7 @@ For users:
customer.
- New: Can use {tttt} in numbering mask setup. It will be replaced
with third party type.
- New: VAT number is stored in one field. This is more "international".
- Fix: bug #28055 : Unable to modify the date of a cloned command
- Fix: bug #27891

View File

@ -664,8 +664,8 @@ else
{
print "\n";
print '<script language="JavaScript" type="text/javascript">';
print "function CheckVAT(a,b) {\n";
print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?countryCode='+a+'&vatNumber='+b,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,260);\n";
print "function CheckVAT(a) {\n";
print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?vatNumber='+a,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,260);\n";
print "}\n";
print '</script>';
print "\n";
@ -676,15 +676,12 @@ else
if ($conf->global->MAIN_INFO_TVAINTRA)
{
$s='';
$code=substr($conf->global->MAIN_INFO_TVAINTRA,0,2);
$num=substr($conf->global->MAIN_INFO_TVAINTRA,2);
$s.=$conf->global->MAIN_INFO_TVAINTRA;
$s.='<input type="hidden" name="tva_intra_code" size="1" maxlength="2" value="'.$code.'">';
$s.='<input type="hidden" name="tva_intra_num" size="12" maxlength="18" value="'.$num.'">';
$s.='<input type="hidden" name="tva_intra" size="12" maxlength="20" value="'.$conf->global->MAIN_INFO_TVAINTRA.'">';
$s.=' &nbsp; ';
if ($conf->use_javascript_ajax)
{
$s.='<a href="#" onClick="javascript: CheckVAT(document.formsoc.tva_intra_code.value,document.formsoc.tva_intra_num.value);">'.$langs->trans("VATIntraCheck").'</a>';
$s.='<a href="#" onClick="javascript: CheckVAT(document.formsoc.tva_intra.value);">'.$langs->trans("VATIntraCheck").'</a>';
print $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1);
}
else

View File

@ -1,12 +1,14 @@
// Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
// Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
// Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
//
// Script javascript added in header of pages (in HEAD section)
//
//
// \file htdocs/lib/lib_head.js
// \brief File that include javascript functions (included if option use_javascript activated)
// \version $Revision$
// \version $Id$
//
function dolibarr_type_reload(param)
{

View File

@ -374,7 +374,7 @@ if (! defined('NOREQUIREDB') && ! defined('NOREQUIRESOC'))
$mysoc->profid2=empty($conf->global->MAIN_INFO_SIRET)?'':$conf->global->MAIN_INFO_SIRET;
$mysoc->profid3=empty($conf->global->MAIN_INFO_APE)?'':$conf->global->MAIN_INFO_APE;
$mysoc->profid4=empty($conf->global->MAIN_INFO_RCS)?'':$conf->global->MAIN_INFO_RCS;
$mysoc->tva_intra=$conf->global->MAIN_INFO_TVAINTRA;
$mysoc->tva_intra=$conf->global->MAIN_INFO_TVAINTRA; // VAT number, not necessarly INTRA.
$mysoc->capital=$conf->global->MAIN_INFO_CAPITAL;
$mysoc->forme_juridique_code=$conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE;
$mysoc->email=$conf->global->MAIN_INFO_SOCIETE_MAIL;

View File

@ -104,9 +104,7 @@ if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
$soc->gencod = $_POST["gencod"];
$soc->tva_assuj = $_POST["assujtva_value"];
$soc->tva_intra_code = $_POST["tva_intra_code"];
$soc->tva_intra_num = $_POST["tva_intra_num"];
$soc->tva_intra = $_POST["tva_intra_code"] . $_POST["tva_intra_num"];
$soc->tva_intra = $_POST["tva_intra"];
$soc->forme_juridique_code = $_POST["forme_juridique_code"];
$soc->effectif_id = $_POST["effectif_id"];
@ -341,9 +339,8 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
$soc->effectif_id=($_POST["effectif_id"]&&!$_POST["cleartype"])?$_POST["effectif_id_id"]:($_REQUEST["private"]?'EF1-5':'');
$soc->tva_assuj = $_POST["assujtva_value"];
$soc->tva_intra_code=$_POST["tva_intra_code"];
$soc->tva_intra_num=$_POST["tva_intra_num"];
$soc->tva_intra=$_POST["tva_intra"];
$soc->commercial_id=$_POST["commercial_id"];
// On positionne pays_id, pays_code et libelle du pays choisi
@ -577,20 +574,19 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
{
print "\n";
print '<script language="JavaScript" type="text/javascript">';
print "function CheckVAT(a,b) {\n";
print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?countryCode='+a+'&vatNumber='+b,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,230);\n";
print "function CheckVAT(a) {\n";
print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?vatNumber='+a,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,230);\n";
print "}\n";
print '</script>';
print "\n";
}
print '<td nowrap="nowrap">'.$langs->trans('VATIntra').'</td>';
print '<td nowrap="nowrap">';
$s ='<input type="text" class="flat" name="tva_intra_code" size="1" maxlength="2" value="'.$soc->tva_intra_code.'">';
$s.='<input type="text" class="flat" name="tva_intra_num" size="12" maxlength="18" value="'.$soc->tva_intra_num.'">';
$s.='<input type="text" class="flat" name="tva_intra" size="12" maxlength="20" value="'.$soc->tva_intra.'">';
$s.=' ';
if ($conf->use_javascript_ajax)
{
$s.='<a href="#" onclick="javascript: CheckVAT(document.formsoc.tva_intra_code.value,document.formsoc.tva_intra_num.value);">'.$langs->trans("VATIntraCheck").'</a>';
$s.='<a href="#" onclick="javascript: CheckVAT(document.formsoc.tva_intra.value);">'.$langs->trans("VATIntraCheck").'</a>';
print $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1);
}
else
@ -693,9 +689,8 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
$soc->forme_juridique_code=$_POST["forme_juridique_code"];
$soc->tva_assuj = $_POST["assujtva_value"];
$soc->tva_intra_code=$_POST["tva_intra_code"];
$soc->tva_intra_num=$_POST["tva_intra_num"];
$soc->tva_intra=$_POST["tva_intra"];
// On positionne pays_id, pays_code et libelle du pays choisi
if ($soc->pays_id)
{
@ -897,20 +892,19 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
{
print "\n";
print '<script language="JavaScript" type="text/javascript">';
print "function CheckVAT(a,b) {\n";
print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?countryCode='+a+'&vatNumber='+b,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,260);\n";
print "function CheckVAT(a) {\n";
print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?vatNumber='+a,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,260);\n";
print "}\n";
print '</script>';
print "\n";
}
print '<td nowrap="nowrap">'.$langs->trans('VATIntra').'</td>';
print '<td nowrap="nowrap">';
$s ='<input type="text" class="flat" name="tva_intra_code" size="1" maxlength="2" value="'.$soc->tva_intra_code.'">';
$s.='<input type="text" class="flat" name="tva_intra_num" size="12" maxlength="18" value="'.$soc->tva_intra_num.'">';
$s ='<input type="text" class="flat" name="tva_intra" size="12" maxlength="20" value="'.$soc->tva_intra.'">';
$s.=' ';
if ($conf->use_javascript_ajax)
{
$s.='<a href="#" onclick="javascript: CheckVAT(document.formsoc.tva_intra_code.value,document.formsoc.tva_intra_num.value);">'.$langs->trans("VATIntraCheck").'</a>';
$s.='<a href="#" onclick="javascript: CheckVAT(document.formsoc.tva_intra.value);">'.$langs->trans("VATIntraCheck").'</a>';
print $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1);
}
else
@ -1110,8 +1104,8 @@ else
{
print "\n";
print '<script language="JavaScript" type="text/javascript">';
print "function CheckVAT(a,b) {\n";
print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?countryCode='+a+'&vatNumber='+b,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,260);\n";
print "function CheckVAT(a) {\n";
print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?vatNumber='+a,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,260);\n";
print "}\n";
print '</script>';
print "\n";
@ -1120,15 +1114,12 @@ else
if ($soc->tva_intra)
{
$s='';
$code=substr($soc->tva_intra,0,2);
$num=substr($soc->tva_intra,2);
$s.=$soc->tva_intra;
$s.='<input type="hidden" name="tva_intra_code" size="1" maxlength="2" value="'.$code.'">';
$s.='<input type="hidden" name="tva_intra_num" size="12" maxlength="18" value="'.$num.'">';
$s.='<input type="hidden" name="tva_intra" size="12" maxlength="20" value="'.$soc->tva_intra.'">';
$s.=' &nbsp; ';
if ($conf->use_javascript_ajax)
{
$s.='<a href="#" onclick="javascript: CheckVAT(document.formsoc.tva_intra_code.value,document.formsoc.tva_intra_num.value);">'.$langs->trans("VATIntraCheck").'</a>';
$s.='<a href="#" onclick="javascript: CheckVAT(document.formsoc.tva_intra.value);">'.$langs->trans("VATIntraCheck").'</a>';
print $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1);
}
else

View File

@ -601,8 +601,6 @@ class Societe extends CommonObject
$this->tva_assuj = $obj->tva_assuj;
$this->tva_intra = $obj->tva_intra;
$this->tva_intra_code = substr($obj->tva_intra,0,2);
$this->tva_intra_num = substr($obj->tva_intra,2);
$this->typent_id = $obj->typent_id;
$this->typent_code = $obj->typent_code;

View File

@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2006-2009 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -17,11 +17,11 @@
*/
/**
* \file htdocs/societe/checkvat/checkVatPopup.php
* \ingroup societe
* \brief Popup screen to validate VAT
* \version $Id$
*/
* \file htdocs/societe/checkvat/checkVatPopup.php
* \ingroup societe
* \brief Popup screen to validate VAT
* \version $Id$
*/
require ("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
@ -30,7 +30,7 @@ require_once(DOL_DOCUMENT_ROOT."/includes/nusoap/lib/nusoap.php");
$langs->load("companies");
$WS_DOL_URL='http://ec.europa.eu/taxation_customs/vies/api/checkVatPort';
$WS_METHOD = 'checkVat';
$WS_METHOD ='checkVat';
top_htmlhead("", $langs->trans("VATIntraCheckableOnEUSite"));
@ -41,25 +41,22 @@ print '<div>';
print_fiche_titre($langs->trans("VATIntraCheckableOnEUSite"),'','setup');
if (! $_REQUEST["countryCode"])
{
print '<br>';
print '<font class="error">'.$langs->transnoentities("ErrorFieldRequired",$langs->trans("Country")).'</font><br>';
}
elseif (! $_REQUEST["vatNumber"])
if (! $_REQUEST["vatNumber"])
{
print '<br>';
print '<font class="error">'.$langs->transnoentities("ErrorFieldRequired",$langs->trans("VATIntraShort")).'</font><br>';
}
else
{
print '<b>'.$langs->trans("Country").'</b>: '.$_REQUEST["countryCode"].'<br>';
print '<b>'.$langs->trans("VATIntraShort").'</b>: '.$_REQUEST["vatNumber"].'<br>';
$countryCode=substr($_REQUEST["vatNumber"],0,2);
$vatNumber=substr($_REQUEST["vatNumber"],2);
print '<b>'.$langs->trans("Country").'</b>: '.$countryCode.'<br>';
print '<b>'.$langs->trans("VATIntraShort").'</b>: '.$vatNumber.'<br>';
print '<br>';
// Set the parameters to send to the WebService
$parameters = array("countryCode" => $_REQUEST["countryCode"],
"vatNumber" => $_REQUEST["vatNumber"]);
$parameters = array("countryCode" => $countryCode,
"vatNumber" => $vatNumber);
// Set the WebService URL
dol_syslog("Create nusoap_client for URL=".$WS_DOL_URL);
@ -69,10 +66,10 @@ else
dol_syslog("Call method ".$WS_METHOD);
$result = $soapclient->call($WS_METHOD,$parameters);
// print "x".is_array($result)."i";
// print_r($result);
// print $soapclient->request.'<br>';
// print $soapclient->response.'<br>';
// print "x".is_array($result)."i";
// print_r($result);
// print $soapclient->request.'<br>';
// print $soapclient->response.'<br>';
$messagetoshow='';
print '<b>'.$langs->trans("Response").'</b>:<br>';
@ -95,7 +92,7 @@ else
}
// Syntaxe ko
elseif (preg_match('/INVALID_INPUT/i',$result['faultstring'])
|| ($result['requestDate'] && ! $result['valid']))
|| ($result['requestDate'] && ! $result['valid']))
{
if ($result['requestDate']) print $langs->trans("Date").': '.$result['requestDate'].'<br>';
print $langs->trans("VATIntraSyntaxIsValid").': <font class="error">'.$langs->trans("No").'</font> (Might be a non europeen VAT)<br>';
@ -110,7 +107,7 @@ else
print $langs->trans("VATIntraValueIsValid").': ';
if (preg_match('/MS_UNAVAILABLE/i',$result['faultstring']))
{
print '<font class="error">'.$langs->trans("ErrorVATCheckMS_UNAVAILABLE",$_REQUEST["countryCode"]).'</font><br>';
print '<font class="error">'.$langs->trans("ErrorVATCheckMS_UNAVAILABLE",$countryCode).'</font><br>';
}
else
{