From 31de91ecca0cfb40a55caa3f92a3a74a038f6861 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 7 Sep 2010 10:24:26 +0000 Subject: [PATCH] Make code simpler --- htdocs/societe/soc.php | 3229 ++++++++++++++++++++-------------------- 1 file changed, 1609 insertions(+), 1620 deletions(-) diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 15473c047ac..a4ebe3d2ab5 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -49,13 +49,17 @@ $socid = isset($_GET["socid"])?$_GET["socid"]:''; if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'societe', $socid); +$soc = new Societe($db); // Get object canvas (By default, this is not defined, so standard usage of dolibarr) -$socstatic = new Societe($db); -if (!empty($socid)) $socstatic->getCanvas($socid); -$canvas = (!empty($socstatic->canvas)?$socstatic->canvas:GETPOST("canvas")); +if (!empty($socid)) $soc->getCanvas($socid); +$canvas = (!empty($soc->canvas)?$soc->canvas:GETPOST("canvas")); +if (! empty($canvas)) +{ + require_once(DOL_DOCUMENT_ROOT."/core/class/canvas.class.php"); + $soccanvas = new Canvas($db); +} -$soc = new Societe($db); /* @@ -65,302 +69,296 @@ $soc = new Societe($db); // If canvas is defined, because on url, or because company was created with canvas feature on, // we use the canvas feature. // If canvas is not defined, we use standard feature. -if (empty($canvas)) +if (! empty($canvas)) { - // ----------------------------------------- - // When used in standard mode - // ----------------------------------------- + // ----------------------------------------- + // When used with CANVAS + // ----------------------------------------- + $soccanvas->getCanvas('thirdparty','card',$canvas); - /* - * Actions - */ - - if ($_POST["getcustomercode"]) - { - // We defined value code_client - $_POST["code_client"]="Acompleter"; - } - - if ($_POST["getsuppliercode"]) - { - // We defined value code_fournisseur - $_POST["code_fournisseur"]="Acompleter"; - } - - // 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 = empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)?trim($_POST["prenom"].' '.$_POST["nom"]):trim($_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"]; - $soc->default_lang = $_POST["default_lang"]; - - // 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: ".DOL_URL_ROOT."/comm/fiche.php?socid=".$soc->id); - return; - } - else - { - if ( $soc->fournisseur == 1 ) - { - Header("Location: ".DOL_URL_ROOT."/fourn/fiche.php?socid=".$soc->id); - return; - } - else - { - Header("Location: ".$_SERVER["PHP_SELF"]."?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: ".$_SERVER["PHP_SELF"]."?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: ".$_SERVER["PHP_SELF"]."?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->fetch($socid); - $result = $soc->delete($socid); - - if ($result >= 0) - { - Header("Location: ".DOL_URL_ROOT."/societe/societe.php?delsoc=".$soc->nom.""); - exit; - } - else - { - $reload = 0; - $langs->load("errors"); - $mesg=$langs->trans($soc->error); - $_GET["action"]=''; - } - } - - - /* - * Generate document - */ - if ($_REQUEST['action'] == 'builddoc') // En get ou en post - { - if (is_numeric($_REQUEST['model'])) - { - $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Model")); - } - else - { - require_once(DOL_DOCUMENT_ROOT.'/includes/modules/societe/modules_societe.class.php'); - - $soc = new Societe($db); - $soc->fetch($socid); - $soc->fetch_thirdparty(); - - // Define output language - $outputlangs = $langs; - $newlang=''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id']; - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$fac->client->default_lang; - if (! empty($newlang)) - { - $outputlangs = new Translate("",$conf); - $outputlangs->setDefaultLang($newlang); - } - $result=thirdparty_doc_create($db, $soc->id, '', $_REQUEST['model'], $outputlangs); - if ($result <= 0) - { - dol_print_error($db,$result); - exit; - } - else - { - Header ('Location: '.$_SERVER["PHP_SELF"].'?socid='.$soc->id.(empty($conf->global->MAIN_JUMP_TAG)?'':'#builddoc')); - exit; - } - } - } + // Load data control + $soccanvas->doActions($socid); } else { // ----------------------------------------- - // When used with CANVAS - // ----------------------------------------- - require_once(DOL_DOCUMENT_ROOT."/core/class/canvas.class.php"); - $soccanvas = new Canvas($db); - $soccanvas->getCanvas('thirdparty','card',$canvas); + // When used in standard mode + // ----------------------------------------- - // Load data control - $soccanvas->doActions($socid); + if ($_POST["getcustomercode"]) + { + // We defined value code_client + $_POST["code_client"]="Acompleter"; + } + + if ($_POST["getsuppliercode"]) + { + // We defined value code_fournisseur + $_POST["code_fournisseur"]="Acompleter"; + } + + // 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 = empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)?trim($_POST["prenom"].' '.$_POST["nom"]):trim($_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"]; + $soc->default_lang = $_POST["default_lang"]; + + // 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: ".DOL_URL_ROOT."/comm/fiche.php?socid=".$soc->id); + return; + } + else + { + if ( $soc->fournisseur == 1 ) + { + Header("Location: ".DOL_URL_ROOT."/fourn/fiche.php?socid=".$soc->id); + return; + } + else + { + Header("Location: ".$_SERVER["PHP_SELF"]."?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: ".$_SERVER["PHP_SELF"]."?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: ".$_SERVER["PHP_SELF"]."?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->fetch($socid); + $result = $soc->delete($socid); + + if ($result >= 0) + { + Header("Location: ".DOL_URL_ROOT."/societe/societe.php?delsoc=".$soc->nom.""); + exit; + } + else + { + $reload = 0; + $langs->load("errors"); + $mesg=$langs->trans($soc->error); + $_GET["action"]=''; + } + } + + + /* + * Generate document + */ + if ($_REQUEST['action'] == 'builddoc') // En get ou en post + { + if (is_numeric($_REQUEST['model'])) + { + $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Model")); + } + else + { + require_once(DOL_DOCUMENT_ROOT.'/includes/modules/societe/modules_societe.class.php'); + + $soc = new Societe($db); + $soc->fetch($socid); + $soc->fetch_thirdparty(); + + // Define output language + $outputlangs = $langs; + $newlang=''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id']; + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$fac->client->default_lang; + if (! empty($newlang)) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($newlang); + } + $result=thirdparty_doc_create($db, $soc->id, '', $_REQUEST['model'], $outputlangs); + if ($result <= 0) + { + dol_print_error($db,$result); + exit; + } + else + { + Header ('Location: '.$_SERVER["PHP_SELF"].'?socid='.$soc->id.(empty($conf->global->MAIN_JUMP_TAG)?'':'#builddoc')); + exit; + } + } + } } @@ -379,1378 +377,1369 @@ $formcompany = new FormCompany($db); $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; -if (empty($canvas)) + +if (! empty($canvas)) { - 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, dol_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, dol_strlen($module)-4); - } - require_once(DOL_DOCUMENT_ROOT ."/includes/modules/societe/".$module.".php"); - $modCodeFournisseur = new $module; + // ----------------------------------------- + // When used with CANVAS + // ----------------------------------------- + if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] || GETPOST("action") == 'create') + { + /* + * Mode creation + */ - /* - * 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; } + // Set action type + $soccanvas->setAction(GETPOST("action")); - $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"]; - $soc->effectif_id=$_POST["effectif_id"]; + // Card header + $title = $soccanvas->getTitle(); + print_fiche_titre($title); - $soc->tva_assuj = $_POST["assujtva_value"]; + // Assign _POST data + $soccanvas->assign_post(); - //Local Taxes - $soc->localtax1_assuj = $_POST["localtax1assuj_value"]; - $soc->localtax2_assuj = $_POST["localtax2assuj_value"]; + // Assign template values + $soccanvas->assign_values(); - $soc->tva_intra=$_POST["tva_intra"]; + dol_htmloutput_errors($soccanvas->error,$soccanvas->errors); - $soc->commercial_id=$_POST["commercial_id"]; - $soc->default_lang=$_POST["default_lang"]; + // Display canvas + $soccanvas->display_canvas(); + } + elseif (GETPOST("action") == 'edit') + { + /* + * Mode edition + */ - // We set pays_id, pays_code and label for the selected country - $soc->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$mysoc->pays_id; - if ($soc->pays_id) - { - $sql = "SELECT code, libelle"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_pays"; - $sql.= " 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; - } + // Set action type + $soccanvas->setAction(GETPOST("action")); + + // Card header + $title = $soccanvas->getTitle(); + print_fiche_titre($title); + + if ($reload || ! $_POST["nom"]) + { + //Reload object + $soccanvas->fetch($socid); + } + else + { + // Assign _POST data + $soccanvas->assign_post(); + } + + dol_htmloutput_errors($soccanvas->error,$soccanvas->errors); + + // Assign values + $soccanvas->assign_values(); + + // Display canvas + $soccanvas->display_canvas(); + } + else + { + /* + * Mode view + */ + + // Set action type + $soccanvas->setAction('view'); + + // Fetch object + $result=$soccanvas->fetch($socid); + if ($result > 0) + { + // Card header + $head = societe_prepare_head($soccanvas->control->object); + $title = $soccanvas->getTitle(); + dol_fiche_head($head, 'company', $title, 0, 'company'); + + // Assign values + $soccanvas->assign_values(); + + // Display canvas + $soccanvas->display_canvas(); + + /* + * Actions + */ + if ($_GET["action"] == '') + { + print '
'; + + if ($user->rights->societe->creer) + { + print ''.$langs->trans("Modify").''; + } + + if ($user->rights->societe->contact->creer) + { + print ''.$langs->trans("AddContact").''; + } + + if ($user->rights->societe->supprimer) + { + print ''.$langs->trans('Delete').''; + } + + print '
'; + print '
'; + } - /* Show create form */ + print ''; + print ''; + print ''; + print '
'; + print ''; // ancre - print_fiche_titre($langs->trans("NewCompany")); + /* + * Documents generes + */ + $filedir=$conf->societe->dir_output.'/'.$socid; + $urlsource=$_SERVER["PHP_SELF"]."?socid=".$socid; + $genallowed=$user->rights->societe->creer; + $delallowed=$user->rights->societe->supprimer; - if ($conf->use_javascript_ajax) - { - print "\n".''."\n"; + $var=true; - print "
\n"; - print $langs->trans("ThirdPartyType").':   '; - print ' '.$langs->trans("Company/Fundation"); - print '     '; - print ' '.$langs->trans("Individual"); - print ' ('.$langs->trans("ToCreateContactWithSameName").')'; - print "
\n"; - print "
\n"; - } + $somethingshown=$formfile->show_documents('company',$socid,$filedir,$urlsource,$genallowed,$delallowed,'',0,0,0,28,0,'',0,'',$soccanvas->control->object->default_lang); + + print '
'; + print '
'; + + print '
'; + + // Contacts list + $result=show_contacts($conf,$langs,$db,$soccanvas->control->object); + + // Projects list + $result=show_projects($conf,$langs,$db,$soccanvas->control->object); + } + else + { + dol_htmloutput_errors($soccanvas->error,$soccanvas->errors); + } + } + +} +else +{ + // ----------------------------------------- + // When used in standard mode + // ----------------------------------------- + if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] || GETPOST('action') == 'create') + { + /* + * Creation + */ + + // 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, dol_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, dol_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"]; + $soc->effectif_id=$_POST["effectif_id"]; + + $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"]; + $soc->default_lang=$_POST["default_lang"]; + + // We set pays_id, pays_code and label for the selected country + $soc->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$mysoc->pays_id; + if ($soc->pays_id) + { + $sql = "SELECT code, libelle"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_pays"; + $sql.= " 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; + } - dol_htmloutput_errors($soc->error,$soc->errors); + /* Show create form */ - print '
'; + print_fiche_titre($langs->trans("NewCompany")); - print ''; - print ''; - print ''; - if ($modCodeClient->code_auto || $modCodeFournisseur->code_auto) print ''; + if ($conf->use_javascript_ajax) + { + print "\n".''."\n"; - print ''; - - // Name, firstname - if ($soc->particulier) - { - print ''; - print ''; - } - else - { - print ''; - print ''; - } - // If javascript on, we show option individual - if ($conf->use_javascript_ajax) - { - print ''; - print ''; - print ''; - print ''; - } - - // Prospect/Customer - print ''; - - print ''; - - // Supplier - print ''; - print ''; - print ''; - - // Category - if ($soc->fournisseur) - { - $load = $soc->LoadSupplierCateg(); - if ( $load == 0) - { - if (sizeof($soc->SupplierCategories) > 0) - { - print ''; - print ''; - } - } - } - - // Barcode - if ($conf->global->MAIN_MODULE_BARCODE) - { - print ''; - } - - // Address - print ''; - - // Zip / Town - print ''; - print ''; - - // Country - print ''; - - // State - print ''; - - // Phone / Fax - print ''; - print ''; - - print ''; - print ''; - - print ''; + print "
\n"; + print $langs->trans("ThirdPartyType").':   '; + print ' '.$langs->trans("Company/Fundation"); + print '     '; + print ' '.$langs->trans("Individual"); + print ' ('.$langs->trans("ToCreateContactWithSameName").')'; + print "
\n"; + print "
\n"; + } - 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 ''; + dol_htmloutput_errors($soc->error,$soc->errors); - // Legal Form - print ''; - print ''; + print ''; - // Type - print ''; - print ''; + print ''; + print ''; + print ''; + if ($modCodeClient->code_auto || $modCodeFournisseur->code_auto) print ''; - if ($conf->global->MAIN_MULTILANGS) - { - print ''; - print ''; - } + print '
'.$langs->trans('LastName').''.$langs->trans('Prefix').'
'.$langs->trans('Name').''.$langs->trans('Prefix').'
'.$langs->trans('FirstName').' 
'.$langs->trans("UserTitle").''; - print $formcompany->select_civilite($contact->civilite_id).' 
'.$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').''; - print $form->selectarray("fournisseur_categorie",$soc->SupplierCategories,$_POST["fournisseur_categorie"],1); - 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'); - 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"; - print $form->selectarray("typent_id",$formcompany->typent_array(0), $soc->typent_id); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print ''.$langs->trans("Staff").''; - print $form->selectarray("effectif_id",$formcompany->effectif_array(0), $soc->effectif_id); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print '
'.$langs->trans("DefaultLang").''."\n"; - $formadmin->select_lang(($soc->default_lang?$soc->default_lang:$conf->global->MAIN_LANG_DEFAULT),'default_lang',0,0,1); - print '
'; - // Assujeti TVA - $html = new Form($db); - print ''; - print ''; - print ''; - print ''; + // Name, firstname + if ($soc->particulier) + { + print ''; + print ''; + } + else + { + print ''; + print ''; + } + // If javascript on, we show option individual + if ($conf->use_javascript_ajax) + { + print ''; + print ''; + print ''; + print ''; + } - print ''; + // Prospect/Customer + print ''; - // Code TVA - if ($conf->use_javascript_ajax) - { - print "\n"; - print ''; - print "\n"; - } + print ''; + print ''; - } - elseif($mysoc->localtax1_assuj=="1") - { - print ''; - } - elseif($mysoc->localtax2_assuj=="1") - { - print ''; - } - } + // Supplier + print ''; + print ''; + print ''; - print ''; - print ''; - } + print ''; + + // Category + if ($soc->fournisseur) + { + $load = $soc->LoadSupplierCateg(); + if ( $load == 0) + { + if (sizeof($soc->SupplierCategories) > 0) + { + print ''; + print ''; + } + } + } + + // Barcode + if ($conf->global->MAIN_MODULE_BARCODE) + { + print ''; + } + + // Address + print ''; + + // Zip / Town + print ''; + print ''; + + // Country + print ''; + + // State + print ''; + + // Phone / Fax + 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 ''; + + // Type + print ''; + print ''; + + if ($conf->global->MAIN_MULTILANGS) + { + 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($mysoc->pays_code=='ES') + { + if($mysoc->localtax1_assuj=="1" && $mysoc->localtax2_assuj=="1") + { + print ''; + + } + elseif($mysoc->localtax1_assuj=="1") + { + print ''; + } + elseif($mysoc->localtax2_assuj=="1") + { + print ''; + } + } + + if ($user->rights->societe->client->voir) + { + // Assign a Name + print ''; + print ''; + print ''; + } - print ''."\n"; + print ''."\n"; - 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('LastName').''.$langs->trans('Prefix').'
'.$langs->trans('Name').''.$langs->trans('Prefix').'
'.$langs->trans('FirstName').' 
'.$langs->trans("UserTitle").''; + print $formcompany->select_civilite($contact->civilite_id).' 
'.$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 '
'; - // Local Taxes - if($mysoc->pays_code=='ES') - { - if($mysoc->localtax1_assuj=="1" && $mysoc->localtax2_assuj=="1") - { - 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("LocalTax1IsUsedES").''; - print $html->selectyesno('localtax1assuj_value',0,1); - print '
'.$langs->trans("LocalTax2IsUsedES").''; - print $html->selectyesno('localtax2assuj_value',0,1); - 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 '
'; - if ($user->rights->societe->client->voir) - { - // Assign a Name - print '
'.$langs->trans("AllocateCommercial").''; - $form->select_users($soc->commercial_id,'commercial_id',1); - print '
'.$langs->trans('SupplierCategory').''; + print $form->selectarray("fournisseur_categorie",$soc->SupplierCategories,$_POST["fournisseur_categorie"],1); + 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'); + 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"; + print $form->selectarray("typent_id",$formcompany->typent_array(0), $soc->typent_id); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + print ''.$langs->trans("Staff").''; + print $form->selectarray("effectif_id",$formcompany->effectif_array(0), $soc->effectif_id); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + print '
'.$langs->trans("DefaultLang").''."\n"; + $formadmin->select_lang(($soc->default_lang?$soc->default_lang:$conf->global->MAIN_LANG_DEFAULT),'default_lang',0,0,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("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 ''; - print '
'; + print ''; + print '
'."\n"; - print '
'."\n"; + print ''."\n"; + print ''."\n"; + } + elseif (GETPOST('action') == 'edit') + { + /* + * Edition + */ + print_fiche_titre($langs->trans("EditCompany")); - } - } - 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, dol_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, dol_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 ($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, dol_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, dol_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"]:$mysoc->pays_id; + $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->default_lang=$_POST["default_lang"]; - 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"]:$mysoc->pays_id; - $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->default_lang=$_POST["default_lang"]; + $soc->tva_assuj = $_POST["assujtva_value"]; + $soc->tva_intra=$_POST["tva_intra"]; - $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"]; - //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; + } + } - // 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); - dol_htmloutput_errors($soc->error,$soc->errors); - - if ($conf->use_javascript_ajax) - { - print "\n".''."\n"; - } - - 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 ''; - - // Category - if ($soc->fournisseur) - { - $load = $soc->LoadSupplierCateg(); - if ( $load == 0) - { - if (sizeof($soc->SupplierCategories) > 0) - { - print ''; - print ''; - } - } - } - - if ($conf->global->MAIN_MODULE_BARCODE) - { - print ''; - } - - // Address - print ''; - - // Zip / Town - print ''; - print ''; - - // Country - print ''; - - // Department - print ''; - - // Phone / Fax - print ''; - print ''; - - // EMail / Web - 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($mysoc->pays_code=='ES') - { - if($mysoc->localtax1_assuj=="1" && $mysoc->localtax2_assuj=="1") - { - print ''; - - } - elseif($mysoc->localtax1_assuj=="1") - { - print ''; - - } - elseif($mysoc->localtax2_assuj=="1") - { - print ''; - } - } - - print ''; - - print ''; - - print ''; - print ''; - - if ($conf->global->MAIN_MULTILANGS) - { - 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').''; - print $form->selectarray("fournisseur_categorie",$soc->SupplierCategories,'',1); - 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'); - 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("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").''; - print $form->selectarray("typent_id",$formcompany->typent_array(0), $soc->typent_id); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print ''.$langs->trans("Staff").''; - print $form->selectarray("effectif_id",$formcompany->effectif_array(0), $soc->effectif_id); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print '
'.$langs->trans("DefaultLang").''."\n"; - $formadmin->select_lang($soc->default_lang,'default_lang',0,0,1); - print '
'; - print '
'; - - 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'); - - $html = new Form($db); - - - // 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 '
'; - } - - // Template - 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 ''; - - // Department - 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($mysoc->pays_code=='ES') - { - if($mysoc->localtax1_assuj=="1" && $mysoc->localtax2_assuj=="1") - { - print ''; - - } - elseif($mysoc->localtax1_assuj=="1") - { - print ''; - } - elseif($mysoc->localtax2_assuj=="1") - { - print ''; - } - } - - // Capital - print ''; - - // Legal - print ''; - - // Type + Staff - $arr = $formcompany->typent_array(1); - $soc->typent= $arr[$soc->typent_code]; - print ''; - - // Default language - if ($conf->global->MAIN_MULTILANGS) - { - require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); - 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").''; - $img=picto_from_langcode($soc->pays_code); - if ($soc->isInEEC()) print $form->textwithpicto(($img?$img.' ':'').$soc->pays,$langs->trans("CountryIsInEEC"),1,0); - else print ($img?$img.' ':'').$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 '
'.$langs->trans("LocalTax1IsUsedES").''; - print yn($soc->localtax1_assuj); - print ''.$langs->trans("LocalTax2IsUsedES").''; - print yn($soc->localtax2_assuj); - print '
'.$langs->trans("LocalTax1IsUsedES").''; - print yn($soc->localtax1_assuj); - print '
'.$langs->trans("LocalTax2IsUsedES").''; - 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.'
'.$langs->trans("DefaultLang").''; - //$s=picto_from_langcode($soc->default_lang); - //print ($s?$s.' ':''); - $langs->load("languages"); - $labellang = ($soc->default_lang?$langs->trans('Language_'.$soc->default_lang):''); - print $labellang; - print '
'; - 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->getFullName($langs); - 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").''; - } - - if ($user->rights->societe->contact->creer) - { - print ''.$langs->trans("AddContact").''; - } - - if ($user->rights->societe->supprimer) - { - print ''.$langs->trans('Delete').''; - } - - print '
'; - print '
'; - } - - - - print ''; - print ''; - print ''; - print '
'; - print ''; // ancre - - /* - * Documents generes - */ - $filedir=$conf->societe->dir_output.'/'.$soc->id; - $urlsource=$_SERVER["PHP_SELF"]."?socid=".$soc->id; - $genallowed=$user->rights->societe->creer; - $delallowed=$user->rights->societe->supprimer; - - $var=true; - - $somethingshown=$formfile->show_documents('company',$soc->id,$filedir,$urlsource,$genallowed,$delallowed,'',0,0,0,28,0,'',0,'',$soc->default_lang); - - print ''; - print '
'; - - print '
'; - - // Contacts list - $result=show_contacts($conf,$langs,$db,$soc); - - // Projects list - $result=show_projects($conf,$langs,$db,$soc); - } - -} -else -{ - if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] || GETPOST("action") == 'create') - { - /* - * Mode creation - */ - if ($user->rights->societe->creer) - { - // Set action type - $soccanvas->setAction(GETPOST("action")); - - // Card header - $title = $soccanvas->getTitle(); - print_fiche_titre($title); - - // Assign _POST data - $soccanvas->assign_post(); - - // Assign template values - $soccanvas->assign_values(); - - dol_htmloutput_errors($soccanvas->error,$soccanvas->errors); - - // Display canvas - $soccanvas->display_canvas(); - - } - } - elseif (GETPOST("action") == 'edit') - { - /* - * Mode edition - */ - - // Set action type - $soccanvas->setAction(GETPOST("action")); - - // Card header - $title = $soccanvas->getTitle(); - print_fiche_titre($title); - - if ($socid) - { - if ($reload || ! $_POST["nom"]) - { - //Reload object - $soccanvas->fetch($socid); - } - else - { - // Assign _POST data - $soccanvas->assign_post(); - } - - dol_htmloutput_errors($soccanvas->error,$soccanvas->errors); - - // Assign values - $soccanvas->assign_values(); - - // Display canvas - $soccanvas->display_canvas(); - } - else - { - $langs->load("errors"); - print $langs->trans("ErrorRecordNotFound"); - } - } - else - { - /* - * Mode view - */ - - // Set action type - $soccanvas->setAction('view'); - - // Fetch object - $result=$soccanvas->fetch($socid); - if ($result > 0) - { - // Card header - $head = societe_prepare_head($soccanvas->control->object); - $title = $soccanvas->getTitle(); - dol_fiche_head($head, 'company', $title, 0, 'company'); - - // Assign values - $soccanvas->assign_values(); - - // Display canvas - $soccanvas->display_canvas(); - - /* - * Actions - */ - if ($_GET["action"] == '') - { - print '
'; - - if ($user->rights->societe->creer) - { - print ''.$langs->trans("Modify").''; - } - - if ($user->rights->societe->contact->creer) - { - print ''.$langs->trans("AddContact").''; - } - - if ($user->rights->societe->supprimer) - { - print ''.$langs->trans('Delete').''; - } - - print '
'; - print '
'; - } - - - print ''; - print ''; - print ''; - print '
'; - print ''; // ancre - - /* - * Documents generes - */ - $filedir=$conf->societe->dir_output.'/'.$socid; - $urlsource=$_SERVER["PHP_SELF"]."?socid=".$socid; - $genallowed=$user->rights->societe->creer; - $delallowed=$user->rights->societe->supprimer; - - $var=true; - - $somethingshown=$formfile->show_documents('company',$socid,$filedir,$urlsource,$genallowed,$delallowed,'',0,0,0,28,0,'',0,'',$soccanvas->control->object->default_lang); - - print ''; - print '
'; - - print '
'; - - // Contacts list - $result=show_contacts($conf,$langs,$db,$soccanvas->control->object); - - // Projects list - $result=show_projects($conf,$langs,$db,$soccanvas->control->object); - } - else - { - $langs->load("errors"); - print $langs->trans("ErrorRecordNotFound"); - } - } + print ''."\n"; + } + + 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 ''; + + // Category + if ($soc->fournisseur) + { + $load = $soc->LoadSupplierCateg(); + if ( $load == 0) + { + if (sizeof($soc->SupplierCategories) > 0) + { + print ''; + print ''; + } + } + } + + if ($conf->global->MAIN_MODULE_BARCODE) + { + print ''; + } + + // Address + print ''; + + // Zip / Town + print ''; + print ''; + + // Country + print ''; + + // Department + print ''; + + // Phone / Fax + print ''; + print ''; + + // EMail / Web + 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($mysoc->pays_code=='ES') + { + if($mysoc->localtax1_assuj=="1" && $mysoc->localtax2_assuj=="1") + { + print ''; + + } + elseif($mysoc->localtax1_assuj=="1") + { + print ''; + + } + elseif($mysoc->localtax2_assuj=="1") + { + print ''; + } + } + + print ''; + + print ''; + + print ''; + print ''; + + if ($conf->global->MAIN_MULTILANGS) + { + 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').''; + print $form->selectarray("fournisseur_categorie",$soc->SupplierCategories,'',1); + 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'); + 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("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").''; + print $form->selectarray("typent_id",$formcompany->typent_array(0), $soc->typent_id); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + print ''.$langs->trans("Staff").''; + print $form->selectarray("effectif_id",$formcompany->effectif_array(0), $soc->effectif_id); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + print '
'.$langs->trans("DefaultLang").''."\n"; + $formadmin->select_lang($soc->default_lang,'default_lang',0,0,1); + print '
'; + print '
'; + + print '
'; + print ''; + print '     '; + print ''; + print '
'; + + print '
'; + } + } + else + { + /* + * View + */ + $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'); + + $html = new Form($db); + + + // 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 '
'; + } + + // Template + 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 ''; + + // Department + 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($mysoc->pays_code=='ES') + { + if($mysoc->localtax1_assuj=="1" && $mysoc->localtax2_assuj=="1") + { + print ''; + + } + elseif($mysoc->localtax1_assuj=="1") + { + print ''; + } + elseif($mysoc->localtax2_assuj=="1") + { + print ''; + } + } + + // Capital + print ''; + + // Legal + print ''; + + // Type + Staff + $arr = $formcompany->typent_array(1); + $soc->typent= $arr[$soc->typent_code]; + print ''; + + // Default language + if ($conf->global->MAIN_MULTILANGS) + { + require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); + 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").''; + $img=picto_from_langcode($soc->pays_code); + if ($soc->isInEEC()) print $form->textwithpicto(($img?$img.' ':'').$soc->pays,$langs->trans("CountryIsInEEC"),1,0); + else print ($img?$img.' ':'').$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 '
'.$langs->trans("LocalTax1IsUsedES").''; + print yn($soc->localtax1_assuj); + print ''.$langs->trans("LocalTax2IsUsedES").''; + print yn($soc->localtax2_assuj); + print '
'.$langs->trans("LocalTax1IsUsedES").''; + print yn($soc->localtax1_assuj); + print '
'.$langs->trans("LocalTax2IsUsedES").''; + 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.'
'.$langs->trans("DefaultLang").''; + //$s=picto_from_langcode($soc->default_lang); + //print ($s?$s.' ':''); + $langs->load("languages"); + $labellang = ($soc->default_lang?$langs->trans('Language_'.$soc->default_lang):''); + print $labellang; + print '
'; + 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->getFullName($langs); + 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").''; + } + + if ($user->rights->societe->contact->creer) + { + print ''.$langs->trans("AddContact").''; + } + + if ($user->rights->societe->supprimer) + { + print ''.$langs->trans('Delete').''; + } + + print '
'; + print '
'; + } + + + + print ''; + print ''; + print ''; + print '
'; + print ''; // ancre + + /* + * Documents generes + */ + $filedir=$conf->societe->dir_output.'/'.$soc->id; + $urlsource=$_SERVER["PHP_SELF"]."?socid=".$soc->id; + $genallowed=$user->rights->societe->creer; + $delallowed=$user->rights->societe->supprimer; + + $var=true; + + $somethingshown=$formfile->show_documents('company',$soc->id,$filedir,$urlsource,$genallowed,$delallowed,'',0,0,0,28,0,'',0,'',$soc->default_lang); + + print ''; + print '
'; + + print '
'; + + // Contacts list + $result=show_contacts($conf,$langs,$db,$soc); + + // Projects list + $result=show_projects($conf,$langs,$db,$soc); + } }