* Copyright (C) 2003 Brian Fraval * Copyright (C) 2004 Laurent Destailleur * * 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. * * $Id$ * $Source$ * */ /*! \file htdocs/soc.php \ingroup societe \brief Onglet societe d'une societe \version $Revision$ */ require("pre.inc.php"); $user->getrights('societe'); $langs->load("companies"); /* * Sécurité accés client */ if ($user->societe_id > 0) { $_GET["action"] = ''; $_POST["action"] = ''; $_GET["socid"] = $user->societe_id; } $soc = new Societe($db); if ($_POST["action"] == 'add' or $_POST["action"] == 'update') { $soc->nom = $_POST["nom"]; $soc->adresse = $_POST["adresse"]; $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->url = ereg_replace( "http://", "", $_POST["url"] ); $soc->siren = $_POST["siren"]; $soc->siret = $_POST["siret"]; $soc->ape = $_POST["ape"]; $soc->prefix_comm = $_POST["prefix_comm"]; $soc->code_client = $_POST["code_client"]; $soc->codeclient_modifiable = $_POST["codeclient_modifiable"]; $soc->capital = $_POST["capital"]; $soc->tva_intra = $_POST["tva_intra_code"] . $_POST["tva_intra_num"]; $soc->forme_juridique_code = $_POST["forme_juridique_code"]; $soc->effectif_id = $_POST["effectif_id"]; $soc->client = $_POST["client"]; $soc->fournisseur = $_POST["fournisseur"]; if ($_POST["action"] == 'update') { $result = $soc->update($_GET["socid"],$user); if ($result <> 0) { $soc->id = $_GET["socid"]; // doublon sur le prefix comm $no_reload = 1; $mesg = $soc->error_message;//"Erreur, le prefix '".$soc->prefix_comm."' existe déjà vous devez en choisir un autre"; $_GET["action"]= "edit"; } else { Header("Location: soc.php?socid=".$_GET["socid"]); } } if ($_POST["action"] == 'add') { $result = $soc->create($user); if ($result == 0) { Header("Location: soc.php?socid=".$soc->id); } else { $_GET["action"]='create'; //dolibarr_print_error($db); } } } if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes' && $user->rights->societe->creer) { $soc = new Societe($db); $soc->fetch($_GET["socid"]); $result = $soc->delete($_GET["socid"]); if ($result == 0) { llxHeader(); print "Société $soc->nom supprimée de la base"; llxFooter(); exit ; } else { $no_reload = 1; $_GET["action"]=''; } } /** * * * * */ llxHeader(); $form = new Form($db); if ($_GET["action"] == 'create') { if ($user->rights->societe->creer) { /* * Fiche societe en mode création */ $soc->fournisseur=0; if ($_GET["type"]=='f') { $soc->fournisseur=1; } if ($_GET["type"]=='c') { $soc->client=1; } if ($_GET["type"]=='p') { $soc->client=2; } print_titre($langs->trans("NewCompany")); print "
\n"; if ($soc->error_message) { print '
'; print nl2br($soc->error_message); print '
'; } print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''."\n"; print ''."\n"; print ''."\n"; print '
'.$langs->trans('Name').'
'.$langs->trans('Address').'
'.$langs->trans('Zip').''.$langs->trans('Town').'
'.$langs->trans('State').''; $form->select_departement($soc->departement_id); print '
'.$langs->trans('Country').''; $form->select_pays($soc->pays?$soc->pays:(defined(MAIN_INFO_SOCIETE_PAYS)?MAIN_INFO_SOCIETE_PAYS:'')); print '
'.$langs->trans('Phone').''.$langs->trans('Fax').'
'.$langs->trans('CustomerCode').'
'.$langs->trans('Web').'
'.$langs->trans('ProfIdSiren').''.$langs->trans('ProfIdSiret').'
'.$langs->trans('ProfIdApe').'Capital '.$conf->monnaie.'
Forme juridique'; $form->select_forme_juridique($soc->forme_juridique_code); print '
Effectif'; $form->select_array("effectif_id",$soc->effectif_array(), $soc->effectif_id); print '
'.$langs->trans('TVAIntra').''; print ''; print ''; print '
Vous pouvez vérifier ce numéro sur le site de la commission européenne'; print '
'.$langs->trans('ProspectCustomer').''.$langs->trans('Supplier').''."\n"; $form->selectyesnonum("fournisseur",$soc->fournisseur); print '
'."\n"; print '
'."\n"; } } elseif ($_GET["action"] == 'edit') { /* * Fiche societe en mode edition */ print_titre("Edition de la société"); if ($_GET["socid"]) { if ($no_reload <> 1) { $soc = new Societe($db); $soc->id = $_GET["socid"]; $soc->fetch($_GET["socid"]); } if ($soc->error_message) { print '
'; print $soc->error_message; print '
'; } print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print '
'.$langs->trans('Name').''.$langs->trans('Prefix').'
'.$langs->trans('Address').'
'.$langs->trans('Zip').''.$langs->trans('Town').'
'.$langs->trans('State').''; $form->select_departement($soc->departement_id); print '
'.$langs->trans('Country').''; $form->select_pays($soc->pays_id); print '
'.$langs->trans('Phone').''.$langs->trans('Fax').'
'.$langs->trans('CustomerCode').''; if ($soc->codeclient_modifiable == 1) { print ''; } else { print $soc->code_client; } print '
'.$langs->trans('Web').'
'.$langs->trans('ProfIdSiren').''.$langs->trans('ProfIdSiret').'
'.$langs->trans('ProfIdApe').'Capital '.$conf->monnaie.'
Forme juridique'; $form->select_forme_juridique($soc->forme_juridique_code); print '
Effectif'; $form->select_array("effectif_id",$soc->effectif_array(), $soc->effectif_id); print '
'.$langs->trans('TVAIntra').''; print ''; print ''; print '
'.$langs->trans('ProspectCustomer').''.$langs->trans('Supplier').''; $form->selectyesnonum("fournisseur",$soc->fournisseur); print '
'; print '
'; print 'Astuce : Vous pouvez vérifier le numéro de TVA intra communautaire sur le site de la commission européenne'; } } else { if ($no_reload <> 1) { $soc = new Societe($db); $soc->id = $_GET["socid"]; $soc->fetch($_GET["socid"]); } $head[0][0] = 'soc.php?socid='.$soc->id; $head[0][1] = $langs->trans("Company"); $h = 1; if ($soc->client==1) { $head[$h][0] = DOL_URL_ROOT.'/comm/fiche.php?socid='.$soc->id; $head[$h][1] = $langs->trans("Customer"); $h++; } if ($soc->client==2) { $head[$h][0] = DOL_URL_ROOT.'/comm/prospect/fiche.php?id='.$soc->id; $head[$h][1] = $langs->trans("Prospect"); $h++; } if ($soc->fournisseur) { $head[$h][0] = DOL_URL_ROOT.'/fourn/fiche.php?socid='.$soc->id; $head[$h][1] = $langs->trans("Supplier");; $h++; } if ($conf->compta->enabled) { $langs->load("compta"); $head[$h][0] = DOL_URL_ROOT.'/compta/fiche.php?socid='.$soc->id; $head[$h][1] = $langs->trans("Accountancy"); $h++; } $head[$h][0] = DOL_URL_ROOT.'/socnote.php?socid='.$soc->id; $head[$h][1] = $langs->trans("Note"); $h++; if ($user->societe_id == 0) { $head[$h][0] = DOL_URL_ROOT.'/docsoc.php?socid='.$soc->id; $head[$h][1] = $langs->trans("Documents"); $h++; } $head[$h][0] = DOL_URL_ROOT.'/societe/notify/fiche.php?socid='.$soc->id; $head[$h][1] = $langs->trans("Notifications"); dolibarr_fiche_head($head, 0, $soc->nom); /* * Fiche société en mode visu */ $html = new Form($db); /* * Confirmation de la suppression de la facture * */ if ($_GET["action"] == 'delete') { $html->form_confirm("soc.php?socid=".$soc->id,"Supprimer la société","Etes-vous sûr de vouloir supprimer cette société et tous ses contacts associés ?","confirm_delete"); print "
\n"; } if ($soc->error_message) { print '
'; print $soc->error_message; print '
'; } print ''; print ''; print ""; print '"; print '"; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print '
'.$langs->trans('Name').''.$soc->nom.''.$langs->trans('Prefix').''.$soc->prefix_comm.'
".$langs->trans('Address')."".nl2br($soc->adresse)."
'.$langs->trans('Zip').''.$soc->cp."'.$langs->trans('Town').''.$soc->ville."
'.$langs->trans('Country').''.$soc->pays.'
'.$langs->trans('Phone').''.dolibarr_print_phone($soc->tel).''.$langs->trans('Fax').''.dolibarr_print_phone($soc->fax).'
'; print $langs->trans('CustomerCode').''; print $soc->code_client; if ($soc->check_codeclient() <> 0) { print "Code incorrect"; } print '
'.$langs->trans('Web').''; if ($soc->url) { print 'http://'.$soc->url.''; } print '
'.$langs->trans('ProfIdSiren').''.$soc->siren.' '.$langs->trans('ProfIdSiret').''.$soc->siret.'
'.$langs->trans('ProfIdApe').''.$soc->ape.'Capital'.$soc->capital.' '.$conf->monnaie.'
Forme juridique'.$soc->forme_juridique.'
Effectif'.$soc->effectif.'
'.$langs->trans('TVAIntra').''; print $soc->tva_intra; print '
'.img_edit() ." "; print $langs->trans('RIB').''; print $soc->display_rib(); print '
'; print "
\n"; /* * */ if ($_GET["action"] == '') { print '
'; print ''.$langs->trans("Edit").''; print ''.$langs->trans("AddContact").''; if ($user->rights->societe->supprimer) { print ''.$langs->trans("Delete").''; } print '
'; } /* * */ } $db->close(); llxFooter("Dernière modification $Date$ révision $Revision$"); ?>