* Copyright (C) 2003 Brian Fraval * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005 Eric Seigne * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2008 Patrick Raguin * Copyright (C) 2010 Juanjo Menent * * 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 * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** * \file htdocs/soc.php * \ingroup societe * \brief Third party card page * \version $Id$ */ require("pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); if ($conf->adherent->enabled) require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); $langs->load("companies"); $langs->load("commercial"); $langs->load("bills"); $langs->load("banks"); // Security check $socid = isset($_GET["socid"])?$_GET["socid"]:''; if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'societe', $socid); // Initialization Company Object $soc = new Societe($db); /* * Actions */ if ($_POST["getcustomercode"]) { // We defined value code_client $_POST["code_client"]="aa"; } if ($_POST["getsuppliercode"]) { // We defined value code_fournisseur $_POST["code_fournisseur"]="aa"; } // Add new third party if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"]) && ($_POST["action"] == 'add' || $_POST["action"] == 'update') && $user->rights->societe->creer) { require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); $error=0; if ($_POST["action"] == 'update') { // Load properties of company $soc->fetch($socid); } if ($_REQUEST["private"] == 1) { $soc->particulier = $_REQUEST["private"]; $soc->nom = $_POST["nom"].' '.$_POST["prenom"]; $soc->nom_particulier = $_POST["nom"]; $soc->prenom = $_POST["prenom"]; $soc->civilite_id = $_POST["civilite_id"]; } else { $soc->nom = $_POST["nom"]; } $soc->address = $_POST["adresse"]; $soc->adresse = $_POST["adresse"]; // TODO obsolete $soc->cp = $_POST["cp"]; $soc->ville = $_POST["ville"]; $soc->pays_id = $_POST["pays_id"]; $soc->departement_id = $_POST["departement_id"]; $soc->tel = $_POST["tel"]; $soc->fax = $_POST["fax"]; $soc->email = trim($_POST["email"]); $soc->url = $_POST["url"]; $soc->siren = $_POST["idprof1"]; $soc->siret = $_POST["idprof2"]; $soc->ape = $_POST["idprof3"]; $soc->idprof4 = $_POST["idprof4"]; $soc->prefix_comm = $_POST["prefix_comm"]; $soc->code_client = $_POST["code_client"]; $soc->code_fournisseur = $_POST["code_fournisseur"]; $soc->capital = $_POST["capital"]; $soc->gencod = $_POST["gencod"]; $soc->tva_assuj = $_POST["assujtva_value"]; // Local Taxes $soc->localtax1_assuj = $_POST["localtax1assuj_value"]; $soc->localtax2_assuj = $_POST["localtax2assuj_value"]; $soc->tva_intra = $_POST["tva_intra"]; $soc->forme_juridique_code = $_POST["forme_juridique_code"]; $soc->effectif_id = $_POST["effectif_id"]; if ($_REQUEST["private"] == 1) { $soc->typent_id = 8; // TODO predict another method if the field "special" change of rowid } else { $soc->typent_id = $_POST["typent_id"]; } $soc->client = $_POST["client"]; $soc->fournisseur = $_POST["fournisseur"]; $soc->fournisseur_categorie = $_POST["fournisseur_categorie"]; $soc->commercial_id = $_POST["commercial_id"]; // Check parameters if (empty($_POST["cancel"])) { if (! empty($soc->email) && ! isValidEMail($soc->email)) { $error = 1; $langs->load("errors"); $soc->error = $langs->trans("ErrorBadEMail",$soc->email); $_GET["action"] = $_POST["action"]=='add'?'create':'edit'; } if (! empty($soc->url) && ! isValidUrl($soc->url)) { $error = 1; $langs->load("errors"); $soc->error = $langs->trans("ErrorBadUrl",$soc->url); $_GET["action"] = $_POST["action"]=='add'?'create':'edit'; } if ($soc->fournisseur && ! $conf->fournisseur->enabled) { $error = 1; $langs->load("errors"); $soc->error = $langs->trans("ErrorSupplierModuleNotEnabled"); $_GET["action"] = $_POST["action"]=='add'?'create':'edit'; } } if (! $error) { if ($_POST["action"] == 'add') { $db->begin(); if (empty($soc->client)) $soc->code_client=''; if (empty($soc->fournisseur)) $soc->code_fournisseur=''; $result = $soc->create($user); if ($result >= 0) { if ($soc->particulier) { dol_syslog("This thirdparty is a personal people",LOG_DEBUG); $contact=new Contact($db); $contact->civilite_id = $soc->civilite_id; $contact->name=$soc->nom_particulier; $contact->firstname=$soc->prenom; $contact->address=$soc->address; $contact->cp=$soc->cp; $contact->ville=$soc->ville; $contact->fk_pays=$soc->fk_pays; $contact->socid=$soc->id; // fk_soc $contact->status=1; $contact->email=$soc->email; $contact->priv=0; $result=$contact->create($user); } } else { $mesg=$soc->error; } if ($result >= 0) { $db->commit(); if ( $soc->client == 1 ) { Header("Location: comm/fiche.php?socid=".$soc->id); return; } else { if ( $soc->fournisseur == 1 ) { Header("Location: fourn/fiche.php?socid=".$soc->id); return; } else { Header("Location: soc.php?socid=".$soc->id); return; } } exit; } else { $db->rollback(); $langs->load("errors"); $mesg=$langs->trans($soc->error); $_GET["action"]='create'; } } if ($_POST["action"] == 'update') { if ($_POST["cancel"]) { Header("Location: soc.php?socid=".$socid); exit; } $oldsoc=new Societe($db); $result=$oldsoc->fetch($socid); // To not set code if third party is not concerned. But if it had values, we keep them. if (empty($soc->client) && empty($oldsoc->code_client)) $soc->code_client=''; if (empty($soc->fournisseur)&& empty($oldsoc->code_fournisseur)) $soc->code_fournisseur=''; //var_dump($soc);exit; $result = $soc->update($socid,$user,1,$oldsoc->codeclient_modifiable(),$oldsoc->codefournisseur_modifiable()); if ($result >= 0) { Header("Location: soc.php?socid=".$socid); exit; } else { $soc->id = $socid; $reload = 0; $mesg = $soc->error; $_GET["action"]= "edit"; } } } } if ($_REQUEST["action"] == 'confirm_delete' && $_REQUEST["confirm"] == 'yes' && $user->rights->societe->supprimer) { $soc = new Societe($db); $soc->fetch($socid); $result = $soc->delete($socid); if ($result >= 0) { Header("Location: ".DOL_URL_ROOT."/societe.php?delsoc=".$soc->nom.""); exit; } else { $reload = 0; $langs->load("errors"); $mesg=$langs->trans($soc->error); $_GET["action"]=''; } } /* * View */ $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; llxHeader('','',$help_url); $form = new Form($db); $formcompany = new FormCompany($db); $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] || $_GET["action"] == 'create' || $_POST["action"] == 'create') { /* * Sheet mode creation */ if ($user->rights->societe->creer) { // Load object modCodeTiers $module=$conf->global->SOCIETE_CODECLIENT_ADDON; if (! $module) dolibarr_error('',$langs->trans("ErrorModuleThirdPartyCodeInCompanyModuleNotDefined")); if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php') { $module = substr($module, 0, strlen($module)-4); } require_once(DOL_DOCUMENT_ROOT ."/includes/modules/societe/".$module.".php"); $modCodeClient = new $module; $module=$conf->global->SOCIETE_CODEFOURNISSEUR_ADDON; if (! $module) $module=$conf->global->SOCIETE_CODECLIENT_ADDON; if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php') { $module = substr($module, 0, strlen($module)-4); } require_once(DOL_DOCUMENT_ROOT ."/includes/modules/societe/".$module.".php"); $modCodeFournisseur = new $module; /* * Company Fact creation mode */ if ($_GET["type"]=='f') { $soc->fournisseur=1; } if ($_GET["type"]=='c') { $soc->client=1; } if ($_GET["type"]=='p') { $soc->client=2; } if ($_GET["type"]=='cp') { $soc->client=3; } if ($_REQUEST["private"]==1) { $soc->particulier=1; } $soc->nom=$_POST["nom"]; $soc->prenom=$_POST["prenom"]; $soc->particulier=$_REQUEST["private"]; $soc->prefix_comm=$_POST["prefix_comm"]; $soc->client=$_POST["client"]?$_POST["client"]:$soc->client; $soc->code_client=$_POST["code_client"]; $soc->fournisseur=$_POST["fournisseur"]?$_POST["fournisseur"]:$soc->fournisseur; $soc->code_fournisseur=$_POST["code_fournisseur"]; $soc->adresse=$_POST["adresse"]; $soc->address=$_POST["adresse"]; // TODO obsolete $soc->cp=$_POST["cp"]; $soc->ville=$_POST["ville"]; $soc->departement_id=$_POST["departement_id"]; $soc->tel=$_POST["tel"]; $soc->fax=$_POST["fax"]; $soc->email=$_POST["email"]; $soc->url=$_POST["url"]; $soc->capital=$_POST["capital"]; $soc->gencod=$_POST["gencod"]; $soc->siren=$_POST["idprof1"]; $soc->siret=$_POST["idprof2"]; $soc->ape=$_POST["idprof3"]; $soc->idprof4=$_POST["idprof4"]; $soc->typent_id=($_POST["typent_id"]&&!$_POST["cleartype"])?$_POST["typent_id"]:($_REQUEST["private"]?'TE_PRIVATE':''); $soc->effectif_id=($_POST["effectif_id"]&&!$_POST["cleartype"])?$_POST["effectif_id_id"]:($_REQUEST["private"]?'EF1-5':''); $soc->tva_assuj = $_POST["assujtva_value"]; //Local Taxes $soc->localtax1_assuj = $_POST["localtax1assuj_value"]; $soc->localtax2_assuj = $_POST["localtax2assuj_value"]; $soc->tva_intra=$_POST["tva_intra"]; $soc->commercial_id=$_POST["commercial_id"]; // We set pays_id, pays_code and libel the selected country $soc->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS; if ($soc->pays_id) { $sql = "SELECT code, libelle from ".MAIN_DB_PREFIX."c_pays where rowid = ".$soc->pays_id; $resql=$db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); } else { dol_print_error($db); } $soc->pays_code=$obj->code; $soc->pays=$obj->libelle; } print_fiche_titre($langs->trans("NewCompany")); if ($conf->use_javascript_ajax) { print "
\n"; print $langs->trans("ThirdPartyType").':   '; print ' '.$langs->trans("Company/Fundation"); print '     '; print ' '.$langs->trans("Individual"); print ' ('.$langs->trans("ToCreateContactWithSameName").')'; print "
\n"; print "
\n"; } dol_htmloutput_errors($soc->error,$soc->errors); print '
'; print ''; print ''; print ''; print ''; if ($modCodeClient->code_auto || $modCodeFournisseur->code_auto) print ''; print ''; if ($soc->particulier) { print ''; print ''; print ''; print ''; print ''; print ''; } else { print ''; print ''; } // Prospect/Customer print ''; print ''; // Supplier print ''; print ''; print ''; if ($soc->fournisseur) { $load = $soc->LoadSupplierCateg(); if ( $load == 0) { if (sizeof($soc->SupplierCategories) > 0) { print ''; print ''; } } } if ($conf->global->MAIN_MODULE_BARCODE) { print ''; } print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; // IdProf1 (SIREN for France) $idprof=$langs->transcountry('ProfId1',$soc->pays_code); if ($idprof!='-') { print ''; } else print ''; // IdProf2 (SIRET for France) $idprof=$langs->transcountry('ProfId2',$soc->pays_code); if ($idprof!='-') { print ''; } else print ''; print ''; print ''; // IdProf3 (APE for France) $idprof=$langs->transcountry('ProfId3',$soc->pays_code); if ($idprof!='-') { print ''; } else print ''; // IdProf4 (NU for France) $idprof=$langs->transcountry('ProfId4',$soc->pays_code); if ($idprof!='-') { print ''; } else print ''; print ''; // Legal Form print ''; print ''; print ''; print ''; // Assujeti TVA $html = new Form($db); print ''; print ''; print ''; print ''; print ''; // Code TVA if ($conf->use_javascript_ajax) { print "\n"; print ''; print "\n"; } // Local Taxes if($obj->code=='ES' && $conf->global->MAIN_FEATURES_LEVEL >= 1) { print ''; print ''; print ''; print ''; print ''; } if ($user->rights->societe->client->voir) { // Assign a Name print ''; print ''; print ''; } print ''."\n"; print '
'.$langs->trans('LastName').''.$langs->trans('Prefix').'
'.$langs->trans('FirstName').' 
'.$langs->trans("UserTitle").''; print $formcompany->select_civilite($contact->civilite_id).' 
'.$langs->trans('Name').''.$langs->trans('Prefix').'
'.$langs->trans('ProspectCustomer').''.$langs->trans('CustomerCode').''; print '
'; $tmpcode=$soc->code_client; if ($modCodeClient->code_auto) $tmpcode=$modCodeClient->getNextValue($soc,0); print ''; print ''; $s=$modCodeClient->getToolTip($langs,$soc,0); print $form->textwithpicto('',$s,1); print '
'; print '
'.$langs->trans('Supplier').''; print $form->selectyesno("fournisseur",$soc->fournisseur,1); print ''.$langs->trans('SupplierCode').''; print '
'; $tmpcode=$soc->code_fournisseur; if ($modCodeFournisseur->code_auto) $tmpcode=$modCodeFournisseur->getNextValue($soc,1); print ''; print ''; $s=$modCodeFournisseur->getToolTip($langs,$soc,1); print $form->textwithpicto('',$s,1); print '
'; print '
'.$langs->trans('SupplierCategory').''; $form->select_array("fournisseur_categorie",$soc->SupplierCategories); print '
'.$langs->trans('Gencod').''; print $soc->gencod; print '
'.$langs->trans('Address').'
'.$langs->trans('Zip').''; if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' '; print ''.$langs->trans('Town').'
'.$langs->trans('Country').''; $form->select_pays($soc->pays_id,'pays_id',$conf->use_javascript_ajax?' onChange="company_save_refresh_create()"':''); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '
'.$langs->trans('State').''; if ($soc->pays_id) { $formcompany->select_departement($soc->departement_id,$soc->pays_code); } else { print $countrynotdefined; } print '
'.$langs->trans('Phone').''.$langs->trans('Fax').'
'.$langs->trans('EMail').($conf->global->SOCIETE_MAIL_REQUIRED?'*':'').''.$langs->trans('Web').'
'.$langs->trans('Capital').' '.$langs->trans("Currency".$conf->monnaie).'
'.$idprof.''; $soc->show_input_id_prof(1,'idprof1',$soc->siren); print '  '.$idprof.''; $soc->show_input_id_prof(2,'idprof2',$soc->siret); print '  
'.$idprof.''; $soc->show_input_id_prof(3,'idprof3',$soc->ape); print '  '.$idprof.''; $soc->show_input_id_prof(4,'idprof4',$soc->idprof4); print '  
'.$langs->trans('JuridicalStatus').''; if ($soc->pays_id) { $formcompany->select_forme_juridique($soc->forme_juridique_code,$soc->pays_code); } else { print $countrynotdefined; } print '
'.$langs->trans("Type").''."\n"; $form->select_array("typent_id",$formcompany->typent_array(0), $soc->typent_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print ''.$langs->trans("Staff").''; $form->select_array("effectif_id",$formcompany->effectif_array(0), $soc->effectif_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '
'.$langs->trans('VATIsUsed').''; print $html->selectyesno('assujtva_value',1,1); // Assujeti par defaut en creation print ''.$langs->trans('VATIntra').''; $s =''; $s.=' '; if ($conf->use_javascript_ajax) { $s.=''.$langs->trans("VATIntraCheck").''; print $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1); } else { print $s.'id_pays).'" target="_blank">'.img_picto($langs->trans("VATIntraCheckableOnEUSite"),'help').''; } print '
'.$langs->trans("LocalTax1IsUsedES").''; print $html->selectyesno('localtax1assuj_value',0,1); print ''.$langs->trans("LocalTax2IsUsedES").''; print $html->selectyesno('localtax2assuj_value',0,1); print '
'.$langs->trans("AllocateCommercial").''; $form->select_users($soc->commercial_id,'commercial_id',1); print '
'; print '
'."\n"; print '
'."\n"; } } elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit') { /* * Company Fact Mode edition */ print_fiche_titre($langs->trans("EditCompany")); if ($socid) { // Load object modCodeTiers $module=$conf->global->SOCIETE_CODECLIENT_ADDON; if (! $module) dolibarr_error('',$langs->trans("ErrorModuleThirdPartyCodeInCompanyModuleNotDefined")); if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php') { $module = substr($module, 0, strlen($module)-4); } require_once(DOL_DOCUMENT_ROOT ."/includes/modules/societe/".$module.".php"); $modCodeClient = new $module; // We verified if the tag prefix is used if ($modCodeClient->code_auto) { $prefixCustomerIsUsed = $modCodeClient->verif_prefixIsUsed(); } $module=$conf->global->SOCIETE_CODEFOURNISSEUR_ADDON; if (! $module) $module=$conf->global->SOCIETE_CODECLIENT_ADDON; if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php') { $module = substr($module, 0, strlen($module)-4); } require_once(DOL_DOCUMENT_ROOT ."/includes/modules/societe/".$module.".php"); $modCodeFournisseur = new $module; // On verifie si la balise prefix est utilisee if ($modCodeFournisseur->code_auto) { $prefixSupplierIsUsed = $modCodeFournisseur->verif_prefixIsUsed(); } if ($reload || ! $_POST["nom"]) { $soc = new Societe($db); $soc->id = $socid; $soc->fetch($socid); } else { $soc->id=$_POST["socid"]; $soc->nom=$_POST["nom"]; $soc->prefix_comm=$_POST["prefix_comm"]; $soc->client=$_POST["client"]; $soc->code_client=$_POST["code_client"]; $soc->fournisseur=$_POST["fournisseur"]; $soc->code_fournisseur=$_POST["code_fournisseur"]; $soc->adresse=$_POST["adresse"]; // TODO obsolete $soc->address=$_POST["adresse"]; $soc->cp=$_POST["cp"]; $soc->ville=$_POST["ville"]; $soc->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS; $soc->departement_id=$_POST["departement_id"]; $soc->tel=$_POST["tel"]; $soc->fax=$_POST["fax"]; $soc->email=$_POST["email"]; $soc->url=$_POST["url"]; $soc->capital=$_POST["capital"]; $soc->siren=$_POST["idprof1"]; $soc->siret=$_POST["idprof2"]; $soc->ape=$_POST["idprof3"]; $soc->idprof4=$_POST["idprof4"]; $soc->typent_id=$_POST["typent_id"]; $soc->effectif_id=$_POST["effectif_id"]; $soc->gencod=$_POST["gencod"]; $soc->forme_juridique_code=$_POST["forme_juridique_code"]; $soc->tva_assuj = $_POST["assujtva_value"]; $soc->tva_intra=$_POST["tva_intra"]; //Local Taxes $soc->localtax1_assuj = $_POST["localtax1assuj_value"]; $soc->localtax2_assuj = $_POST["localtax2assuj_value"]; // We set pays_id, and pays_code label of the chosen country if ($soc->pays_id) { $sql = "SELECT code, libelle from ".MAIN_DB_PREFIX."c_pays where rowid = ".$soc->pays_id; $resql=$db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); } else { dol_print_error($db); } $soc->pays_code=$obj->code; $soc->pays=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->libelle; } } dol_htmloutput_errors($soc->error,$soc->errors); print '
'; print ''; print ''; print ''; if ($modCodeClient->code_auto || $modCodeFournisseur->code_auto) print ''; print ''; // Name print ''; // Prefix print ''; // Prospect/Customer print ''; print ''; // Supplier print ''; print ''; print ''; if ($soc->fournisseur) { $load = $soc->LoadSupplierCateg(); if ( $load == 0) { if (sizeof($soc->SupplierCategories) > 0) { print ''; print ''; } } } if ($conf->global->MAIN_MODULE_BARCODE) { print ''; } print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; // IdProf1 (SIREN for France) $idprof=$langs->transcountry('ProfId1',$soc->pays_code); if ($idprof!='-') { print ''; } else print ''; // IdProf2 (SIRET for France) $idprof=$langs->transcountry('ProfId2',$soc->pays_code); if ($idprof!='-') { print ''; } else print ''; print ''; print ''; // IdProf3 (APE for France) $idprof=$langs->transcountry('ProfId3',$soc->pays_code); if ($idprof!='-') { print ''; } else print ''; // IdProf4 (NU for France) $idprof=$langs->transcountry('ProfId4',$soc->pays_code); if ($idprof!='-') { print ''; } else print ''; print ''; // VAT payers print ''; // VAT Code if ($conf->use_javascript_ajax) { print "\n"; print ''; print "\n"; } print ''; print ''; print ''; // Local Taxes if($obj->code=='ES' && $conf->global->MAIN_FEATURES_LEVEL >= 1) { print ''; print ''; print ''; print ''; print ''; } print ''; print ''; print ''; print ''; print ''; print '
'.$langs->trans('Name').'
'.$langs->trans("Prefix").''; // It does not change the prefix mode using the auto numbering prefix if (($prefixCustomerIsUsed || $prefixSupplierIsUsed) && $soc->prefix_comm) { print ''; print $soc->prefix_comm; } else { print ''; } print '
'.$langs->trans('ProspectCustomer').''.$langs->trans('CustomerCode').''; print '
'; if ((!$soc->code_client || $soc->code_client == -1) && $modCodeClient->code_auto) { $tmpcode=$soc->code_client; if (empty($tmpcode) && $modCodeClient->code_auto) $tmpcode=$modCodeClient->getNextValue($soc,0); print ''; } else if ($soc->codeclient_modifiable()) { print ''; } else { print $soc->code_client; print ''; } print ''; $s=$modCodeClient->getToolTip($langs,$soc,0); print $form->textwithpicto('',$s,1); print '
'; print '
'.$langs->trans('Supplier').''; print $form->selectyesno("fournisseur",$soc->fournisseur,1); print ''.$langs->trans('SupplierCode').''; print '
'; if ((!$soc->code_fournisseur || $soc->code_fournisseur == -1) && $modCodeFournisseur->code_auto) { $tmpcode=$soc->code_fournisseur; if (empty($tmpcode) && $modCodeFournisseur->code_auto) $tmpcode=$modCodeFournisseur->getNextValue($soc,1); print ''; } else if ($soc->codefournisseur_modifiable()) { print ''; } else { print $soc->code_fournisseur; print ''; } print ''; $s=$modCodeFournisseur->getToolTip($langs,$soc,1); print $form->textwithpicto('',$s,1); print '
'; print '
'.$langs->trans('SupplierCategory').''; $form->select_array("fournisseur_categorie",$soc->SupplierCategories); print '
'.$langs->trans('Gencod').''; print '
'.$langs->trans('Address').'
'.$langs->trans('Zip').''; if ($conf->use_javascript_ajax && $conf->global->MAIN_AUTOFILL_TOWNFROMZIP) print ' '; print ''.$langs->trans('Town').'
'.$langs->trans('Country').''; $form->select_pays($soc->pays_id,'pays_id',$conf->use_javascript_ajax?' onChange="company_save_refresh_edit()"':''); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '
'.$langs->trans('State').''; $formcompany->select_departement($soc->departement_id,$soc->pays_code); print '
'.$langs->trans('Phone').''.$langs->trans('Fax').'
'.$langs->trans('EMail').($conf->global->SOCIETE_MAIL_REQUIRED?'*':'').''.$langs->trans('Web').'
'.$idprof.''; $soc->show_input_id_prof(1,'idprof1',$soc->siren); print '  '.$idprof.''; $soc->show_input_id_prof(2,'idprof2',$soc->siret); print '  
'.$idprof.''; $soc->show_input_id_prof(3,'idprof3',$soc->ape); print '  '.$idprof.''; $soc->show_input_id_prof(4,'idprof4',$soc->idprof4); print '  
'.$langs->trans('VATIsUsed').''; print $form->selectyesno('assujtva_value',$soc->tva_assuj,1); print ''.$langs->trans('VATIntra').''; $s =''; $s.=' '; if ($conf->use_javascript_ajax) { $s.=''.$langs->trans("VATIntraCheck").''; print $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1); } else { print $s.'id_pays).'" target="_blank">'.img_picto($langs->trans("VATIntraCheckableOnEUSite"),'help').''; } print '
'.$langs->trans("LocalTax1IsUsedES").''; print $form->selectyesno('localtax1assuj_value',$soc->localtax1_assuj,1); print ''.$langs->trans("LocalTax2IsUsedES").''; print $form->selectyesno('localtax2assuj_value',$soc->localtax2_assuj,1); print '
'.$langs->trans("Capital").' '.$langs->trans("Currency".$conf->monnaie).'
'.$langs->trans('JuridicalStatus').''; $formcompany->select_forme_juridique($soc->forme_juridique_code,$soc->pays_code); print '
'.$langs->trans("Type").''; $form->select_array("typent_id",$formcompany->typent_array(0), $soc->typent_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print ''.$langs->trans("Staff").''; $form->select_array("effectif_id",$formcompany->effectif_array(0), $soc->effectif_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '
'; print ''; print '   '; print ''; print '
'; print '
'; } } else { /* * Company Fact Sheet mode visu */ $soc = new Societe($db); $soc->id = $socid; $result=$soc->fetch($socid); if ($result < 0) { dol_print_error($db,$soc->error); exit; } $head = societe_prepare_head($soc); dol_fiche_head($head, 'company', $langs->trans("ThirdParty"),0,'company'); // Confirm delete third party if ($_GET["action"] == 'delete') { $html = new Form($db); $ret=$html->form_confirm($_SERVER["PHP_SELF"]."?socid=".$soc->id,$langs->trans("DeleteACompany"),$langs->trans("ConfirmDeleteCompany"),"confirm_delete",'',0,2); if ($ret == 'html') print '
'; } if ($mesg) { print '
'; print $mesg; print '
'; } print '
'; print ''; print ''; // Name print ''; print ''; print ''; if ($soc->client) { print ''; } if ($soc->fournisseur) { print ''; } if ($conf->global->MAIN_MODULE_BARCODE) { print ''; } print ""; print '"; print '"; // Country print ''; print ''; print ''; print ''; // EMail print ''; // Web print ''; // ProfId1 (SIREN for France) $profid=$langs->transcountry('ProfId1',$soc->pays_code); if ($profid!='-') { print ''; } else print ''; // ProfId2 (SIRET for France) $profid=$langs->transcountry('ProfId2',$soc->pays_code); if ($profid!='-') { print ''; } else print ''; // ProfId3 (APE for France) $profid=$langs->transcountry('ProfId3',$soc->pays_code); if ($profid!='-') { print ''; } else print ''; // ProfId4 (NU for France) $profid=$langs->transcountry('ProfId4',$soc->pays_code); if ($profid!='-') { print ''; } else print ''; // VAT payers $html = new Form($db); print ''; // VAT Code if ($conf->use_javascript_ajax) { print "\n"; print ''; print "\n"; } print ''; print ''; // Local Taxes if($obj->code=='ES' && $conf->global->MAIN_FEATURES_LEVEL >= 1) { print ''; print ''; print ''; } // Capital print ''; // Legal print ''; // Type + Staff $arr = $formcompany->typent_array(1); $soc->typent= $arr[$soc->typent_code]; print ''; // Ban print ''; print ''; // Parent company print ''; print ''; // Commercial print ''; print ''; // Module Adherent if ($conf->adherent->enabled) { $langs->load("members"); print ''; print ''; print "\n"; } print '
'.$langs->trans('Name').''; print $form->showrefnav($soc,'socid','',($user->societe_id?0:1),'rowid','nom'); print '
'.$langs->trans('Prefix').''.$soc->prefix_comm.'
'; print $langs->trans('CustomerCode').''; print $soc->code_client; if ($soc->check_codeclient() <> 0) print ' ('.$langs->trans("WrongCustomerCode").')'; print '
'; print $langs->trans('SupplierCode').''; print $soc->code_fournisseur; if ($soc->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')'; print '
'.$langs->trans('Gencod').''.$soc->gencod.'
".$langs->trans('Address')."".nl2br($soc->address)."
'.$langs->trans('Zip').''.$soc->cp."'.$langs->trans('Town').''.$soc->ville."
'.$langs->trans("Country").''; if ($soc->isInEEC()) print $form->textwithpicto($soc->pays,$langs->trans("CountryIsInEEC"),1,0); else print $soc->pays; print '
'.$langs->trans('State').''.$soc->departement.'
'.$langs->trans('Phone').''.dol_print_phone($soc->tel,$soc->pays_code,0,$soc->id,'AC_TEL').''.$langs->trans('Fax').''.dol_print_phone($soc->fax,$soc->pays_code,0,$soc->id,'AC_FAX').'
'.$langs->trans('EMail').''; print dol_print_email($soc->email,0,$soc->id,'AC_EMAIL'); print ''.$langs->trans('Web').''; print dol_print_url($soc->url); print '
'.$profid.''; print $soc->siren; if ($soc->siren) { if ($soc->id_prof_check(1,$soc) > 0) print '   '.$soc->id_prof_url(1,$soc); else print ' ('.$langs->trans("ErrorWrongValue").')'; } print '
  '.$profid.''; print $soc->siret; if ($soc->siret) { if ($soc->id_prof_check(2,$soc) > 0) print '   '.$soc->id_prof_url(2,$soc); else print ' ('.$langs->trans("ErrorWrongValue").')'; } print '
  
'.$profid.''; print $soc->ape; if ($soc->ape) { if ($soc->id_prof_check(3,$soc) > 0) print '   '.$soc->id_prof_url(3,$soc); else print ' ('.$langs->trans("ErrorWrongValue").')'; } print '
  '.$profid.''; print $soc->idprof4; if ($soc->idprof4) { if ($soc->id_prof_check(4,$soc) > 0) print '   '.$soc->id_prof_url(4,$soc); else print ' ('.$langs->trans("ErrorWrongValue").')'; } print '
  
'; print $langs->trans('VATIsUsed'); print ''; print yn($soc->tva_assuj); print ''.$langs->trans('VATIntra').''; if ($soc->tva_intra) { $s=''; $s.=$soc->tva_intra; $s.=''; $s.='   '; if ($conf->use_javascript_ajax) { $s.=''.$langs->trans("VATIntraCheck").''; print $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1); } else { print $s.'id_pays).'" target="_blank">'.img_picto($langs->trans("VATIntraCheckableOnEUSite"),'help').''; } } else { print ' '; } print '
'; print $langs->trans('LocalTax1IsUsedES'); print ''; print yn($soc->localtax1_assuj); print ''; print $langs->trans('LocalTax2IsUsedES'); print ''; print yn($soc->localtax2_assuj); print '
'.$langs->trans('Capital').''; if ($soc->capital) print $soc->capital.' '.$langs->trans("Currency".$conf->monnaie); else print ' '; print '
'.$langs->trans('JuridicalStatus').''.$soc->forme_juridique.'
'.$langs->trans("Type").''.$soc->typent.''.$langs->trans("Staff").''.$soc->effectif.'
'; print '
'; print $langs->trans('RIB'); print ''; if ($user->rights->societe->creer) print ''.img_edit().''; else print ' '; print '
'; print '
'; print $soc->display_rib(); print '
'; print '
'; print $langs->trans('ParentCompany'); print ''; if ($user->rights->societe->creer) print ''.img_edit() .''; else print ' '; print '
'; print '
'; if ($soc->parent) { $socm = new Societe($db); $socm->fetch($soc->parent); print $socm->getNomUrl(1).' '.($socm->code_client?"(".$socm->code_client.")":""); print $socm->ville?' - '.$socm->ville:''; } else { print $langs->trans("NoParentCompany"); } print '
'; print '
'; print $langs->trans('SalesRepresentatives'); print ''; if ($user->rights->societe->creer) print ''.img_edit().''; else print ' '; print '
'; print '
'; $sql = "SELECT count(sc.rowid) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE sc.fk_soc =".$soc->id; $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); $obj = $db->fetch_object($resql); print $obj->nb?($obj->nb):$langs->trans("NoSalesRepresentativeAffected"); } else { dol_print_error($db); } print '
'.$langs->trans("LinkedToDolibarrMember").''; $adh=new Adherent($db); $result=$adh->fetch('','',$soc->id); if ($result > 0) { $adh->ref=$adh->fullname; print $adh->getNomUrl(1); } else { print $langs->trans("UserNotLinkedToMember"); } print '
'; print '
'; print "\n"; /* * Actions */ if ($_GET["action"] == '') { print '
'; if ($user->rights->societe->creer) { print ''.$langs->trans("Modify").''; } /* Not specific to third party. Must go on Project menu to create a project. if ($conf->projet->enabled && $user->rights->projet->creer) { $langs->load("projects"); print ''.$langs->trans("AddProject").''; } */ if ($user->rights->societe->contact->creer) { print ''.$langs->trans("AddContact").''; } if ($user->rights->societe->supprimer) { print ''.$langs->trans('Delete').''; } print '
'; print '
'; } /* * Contact List */ show_contacts($conf,$langs,$db,$soc); } $db->close(); llxFooter('$Date$ - $Revision$'); ?>