New: Ajout option cachée COMPANY_CREATE_TWO_STEPS pour avoir une création de société en 2 temps.

This commit is contained in:
Laurent Destailleur 2005-02-13 17:27:02 +00:00
parent dc0c8c517b
commit c04a72383d

View File

@ -45,7 +45,15 @@ if ($user->societe_id > 0)
$soc = new Societe($db); $soc = new Societe($db);
if ($_POST["action"] == 'add' or $_POST["action"] == 'update') $step=$_POST["step"];
if ($_POST["createnextstep"]) { $step++; $_GET["action"]="create"; }
if ($_POST["createpreviousstep"]) { $step--; $_GET["action"]="create"; }
if (! $step) $step++;
/*
* Actions
*/
if (($_POST["action"] == 'add' && (! defined(COMPANY_CREATE_TWO_STEPS) || $step == 2)) or $_POST["action"] == 'update')
{ {
$soc->nom = stripslashes($_POST["nom"]); $soc->nom = stripslashes($_POST["nom"]);
$soc->adresse = stripslashes($_POST["adresse"]); $soc->adresse = stripslashes($_POST["adresse"]);
@ -77,7 +85,7 @@ if ($_POST["action"] == 'add' or $_POST["action"] == 'update')
$soc->id = $_GET["socid"]; $soc->id = $_GET["socid"];
// doublon sur le prefix comm // doublon sur le prefix comm
$no_reload = 1; $no_reload = 1;
$mesg = $soc->error;//"Erreur, le prefix '".$soc->prefix_comm."' existe déjà vous devez en choisir un autre"; $mesg = $soc->error; //"Erreur, le prefix '".$soc->prefix_comm."' existe déjà vous devez en choisir un autre";
$_GET["action"]= "edit"; $_GET["action"]= "edit";
} }
else else
@ -124,8 +132,6 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes' && $user-
} }
/** /**
*
*
* *
* *
*/ */
@ -134,17 +140,18 @@ llxHeader();
$form = new Form($db); $form = new Form($db);
if ($_GET["action"] == 'create') if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
{ {
if ($user->rights->societe->creer) if ($user->rights->societe->creer)
{ {
/* /*
* Fiche societe en mode création * Fiche societe en mode création (Creation en 1 ou 2 temps selon COMPANY_CREATE_TWO_STEPS)
*/ */
$soc->fournisseur=0; $soc->fournisseur=0;
if ($_GET["type"]=='f') { $soc->fournisseur=1; } if ($_GET["type"]=='f') { $soc->fournisseur=1; }
if ($_GET["type"]=='c') { $soc->client=1; } if ($_GET["type"]=='c') { $soc->client=1; }
if ($_GET["type"]=='p') { $soc->client=2; } if ($_GET["type"]=='p') { $soc->client=2; }
if ($_POST["nom"]) { $soc->nom=$_POST["nom"]; }
print_titre($langs->trans("NewCompany")); print_titre($langs->trans("NewCompany"));
print "<br>\n"; print "<br>\n";
@ -157,67 +164,112 @@ if ($_GET["action"] == 'create')
} }
print '<form action="soc.php" method="post">'; print '<form action="soc.php" method="post">';
print '<input type="hidden" name="action" value="add">';
print '<input type="hidden" name="codeclient_modifiable" value="1">'; print '<input type="hidden" name="codeclient_modifiable" value="1">';
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
print '<tr><td>'.$langs->trans('Name').'</td><td colspan="3"><input type="text" name="nom" value="'.$soc->nom.'"></td></tr>'; print '<tr><td>'.$langs->trans('Name').'</td><td colspan="3"><input type="text" size="30" name="nom" value="'.$soc->nom.'"></td></tr>';
print '<tr><td>'.$langs->trans('Address').'</td><td colspan="3"><textarea name="adresse" cols="40" rows="3" wrap="soft">';
print $soc->adresse;
print '</textarea></td></tr>';
print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$soc->cp.'"></td>'; // On positionne pays_id, pays_code et libelle du pays choisi
print '<td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$soc->ville.'"></td></tr>'; $soc->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:(defined(MAIN_INFO_SOCIETE_PAYS)?MAIN_INFO_SOCIETE_PAYS:'');
if ($soc->pays_id) {
$sql = "SELECT code, libelle from ".MAIN_DB_PREFIX."c_pays where rowid = ".$soc->pays_id;
$result=$db->query($sql);
if ($result)
{
$obj = $db->fetch_object($result);
}
else {
dolibarr_print_error($db);
}
$soc->pays_code=$obj->code;
$soc->pays=$obj->libelle;
}
print '<tr><td>'.$langs->trans('State').'</td><td colspan="3">'; if ($step==1 && defined(COMPANY_CREATE_TWO_STEPS)) {
$form->select_departement($soc->departement_id); print '<tr><td width="140">'.$langs->trans('Country').'</td><td colspan="3">';
print '</td></tr>'; $form->select_pays($soc->pays_id);
print '</td></tr>';
print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">'; print '<input type="hidden" name="step" value="'.$step.'">';
$form->select_pays($soc->pays?$soc->pays:(defined(MAIN_INFO_SOCIETE_PAYS)?MAIN_INFO_SOCIETE_PAYS:'')); print '<input type="hidden" name="action" value="create">';
print '</td></tr>'; print '<tr><td colspan="4" align="center"><input type="submit" name="createnextstep" value="'.$langs->trans('NextStep').'"></td></tr>'."\n";
print '<tr><td>'.$langs->trans('Phone').'</td><td><input type="text" name="tel"></td>'; }
print '<td>'.$langs->trans('Fax').'</td><td><input type="text" name="fax"></td></tr>'; if ($step==2 || ! defined(COMPANY_CREATE_TWO_STEPS)) {
if (defined(COMPANY_CREATE_TWO_STEPS)) {
print '<tr><td width="140">'.$langs->trans('Country').'</td><td colspan="3">';
print $soc->pays;
print '<input type="hidden" name="pays_id" value="'.$soc->pays_id.'">';
print '</td></tr>';
} else {
print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">';
$form->select_pays($soc->pays_id);
print '</td></tr>';
}
print '<tr><td>'.$langs->trans('CustomerCode').'</td><td colspan="3"><input size="16" type="text" name="code_client" maxlength="15" value="'.$soc->code_client.'"></td></tr>'; print '<input type="hidden" name="step" value="'.$step.'">';
print '<tr><td>'.$langs->trans('Web').'</td><td colspan="3"><input type="text" name="url" size="40" value="'.$soc->url.'"></td></tr>'; print '<input type="hidden" name="action" value="add">';
print '<tr><td>'.$langs->transcountry('ProfIdSiren',$soc->pays_code).'</td><td><input type="text" name="siren" size="10" maxlength="9" value="'.$soc->siren.'"></td>'; print '<tr><td>'.$langs->trans('Address').'</td><td colspan="3"><textarea name="adresse" cols="40" rows="3" wrap="soft">';
print '<td>'.$langs->transcountry('ProfIdSiret',$soc->pays_code).'</td><td><input type="text" name="siret" size="15" maxlength="14" value="'.$soc->siret.'"></td></tr>'; print $soc->adresse;
print '<tr><td>'.$langs->transcountry('ProfIdApe',$soc->pays_code).'</td><td><input type="text" name="ape" size="5" maxlength="4" value="'.$soc->ape.'"></td><td colspan="2">&nbsp;</td></tr>'; print '</textarea></td></tr>';
print '<tr><td>'.$langs->trans('Zip').'</td><td><input size="6" type="text" name="cp" value="'.$soc->cp.'"></td>';
print '<td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$soc->ville.'"></td></tr>';
print '<tr><td>'.$langs->trans('State').'</td><td colspan="3">';
$form->select_departement($soc->departement_id,$soc->pays_code);
print '</td></tr>';
print '<tr><td>'.$langs->trans('Phone').'</td><td><input type="text" name="tel"></td>';
print '<td>'.$langs->trans('Fax').'</td><td><input type="text" name="fax"></td></tr>';
print '<tr><td>'.$langs->trans('CustomerCode').'</td><td colspan="3"><input size="16" type="text" name="code_client" maxlength="15" value="'.$soc->code_client.'"></td></tr>';
print '<tr><td>'.$langs->trans('Web').'</td><td colspan="3"><input type="text" name="url" size="40" value="'.$soc->url.'"></td></tr>';
print '<tr><td>'.$langs->transcountry('ProfId1',$soc->pays_code).'</td><td><input type="text" name="siren" size="15" maxlength="9" value="'.$soc->siren.'"></td>';
print '<td>'.$langs->transcountry('ProfId2',$soc->pays_code).'</td><td><input type="text" name="siret" size="15" maxlength="14" value="'.$soc->siret.'"></td></tr>';
print '<tr><td>'.$langs->transcountry('ProfId3',$soc->pays_code).'</td><td><input type="text" name="ape" size="5" maxlength="4" value="'.$soc->ape.'"></td><td colspan="2">&nbsp;</td></tr>';
print '<tr><td>'.$langs->trans('Capital').'</td><td colspan="3"><input type="text" name="capital" size="10" value="'.$soc->capital.'"> '.$conf->monnaie.'</td></tr>'; print '<tr><td>'.$langs->trans('Capital').'</td><td colspan="3"><input type="text" name="capital" size="10" value="'.$soc->capital.'"> '.$conf->monnaie.'</td></tr>';
print '<tr><td>Forme juridique</td><td colspan="3">'; print '<tr><td>Forme juridique</td><td colspan="3">';
$form->select_forme_juridique($soc->forme_juridique_code); $form->select_forme_juridique($soc->forme_juridique_code,$soc->pays_code);
print '</td></tr>'; print '</td></tr>';
print '<tr><td>Effectif</td><td colspan="3">'; print '<tr><td>Effectif</td><td colspan="3">';
$form->select_array("effectif_id",$soc->effectif_array(), $soc->effectif_id); $form->select_array("effectif_id",$soc->effectif_array(), $soc->effectif_id);
print '</td></tr>'; print '</td></tr>';
print '<tr><td>'.$langs->trans('TVAIntra').'</td><td colspan="3">'; print '<tr><td>'.$langs->trans('TVAIntra').'</td><td colspan="3">';
print '<input type="text" name="tva_intra_code" size="3" maxlength="2" value="'.$soc->tva_intra_code.'">'; print '<input type="text" name="tva_intra_code" size="3" maxlength="2" value="'.$soc->tva_intra_code.'">';
print '<input type="text" name="tva_intra_num" size="18" maxlength="18" value="'.$soc->tva_intra_num.'">'; print '<input type="text" name="tva_intra_num" size="18" maxlength="18" value="'.$soc->tva_intra_num.'">';
print '<br>Vous pouvez vérifier ce numéro sur le <a href="http://europa.eu.int/comm/taxation_customs/vies/fr/vieshome.htm" target="_blank">site</a> de la commission européenne'; print '<br>Vous pouvez vérifier ce numéro sur le <a href="http://europa.eu.int/comm/taxation_customs/vies/fr/vieshome.htm" target="_blank">site</a> de la commission européenne';
print '</td></tr>'; print '</td></tr>';
print '<tr><td>'.$langs->trans('ProspectCustomer').'</td><td><select name="client">'; print '<tr><td>'.$langs->trans('ProspectCustomer').'</td><td><select name="client">';
print '<option value="2"'.($soc->client==2?' selected':'').'>'.$langs->trans('Prospect').'</option>'; print '<option value="2"'.($soc->client==2?' selected':'').'>'.$langs->trans('Prospect').'</option>';
print '<option value="1"'.($soc->client==1?' selected':'').'>'.$langs->trans('Customer').'</option>'; print '<option value="1"'.($soc->client==1?' selected':'').'>'.$langs->trans('Customer').'</option>';
print '<option value="0"'.($soc->client==0?' selected':'').'>Ni client, ni prospect</option>'; print '<option value="0"'.($soc->client==0?' selected':'').'>Ni client, ni prospect</option>';
print '</select></td>'."\n"; print '</select></td>'."\n";
print '<td>'.$langs->trans('Supplier').'</td><td>'."\n"; print '<td>'.$langs->trans('Supplier').'</td><td>'."\n";
$form->selectyesnonum("fournisseur",$soc->fournisseur); $form->selectyesnonum("fournisseur",$soc->fournisseur);
print '</td></tr>'."\n"; print '</td></tr>'."\n";
print '<tr><td colspan="4" align="center">';
if (defined(COMPANY_CREATE_TWO_STEPS)) {
print '<input type="submit" name="createpreviousstep" value="'.$langs->trans('PreviousStep').'"> &nbsp; &nbsp; ';
}
print '<input type="submit" value="'.$langs->trans('AddCompany').'"></td></tr>'."\n";
}
print '<tr><td colspan="4" align="center"><input type="submit" value="'.$langs->trans('Add').'"></td></tr>'."\n";
print '</table>'."\n"; print '</table>'."\n";
print '</form>'."\n"; print '</form>'."\n";
} }
} }
elseif ($_GET["action"] == 'edit') elseif ($_GET["action"] == 'edit')
@ -261,7 +313,7 @@ elseif ($_GET["action"] == 'edit')
print '<td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$soc->ville.'"></td></tr>'; print '<td>'.$langs->trans('Town').'</td><td><input type="text" name="ville" value="'.$soc->ville.'"></td></tr>';
print '<tr><td>'.$langs->trans('State').'</td><td colspan="3">'; print '<tr><td>'.$langs->trans('State').'</td><td colspan="3">';
$form->select_departement($soc->departement_id); $form->select_departement($soc->departement_id,$soc->pays_code);
print '</td></tr>'; print '</td></tr>';
print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">'; print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">';
@ -295,7 +347,7 @@ elseif ($_GET["action"] == 'edit')
print '<tr><td>'.$langs->trans("Capital").'</td><td colspan="3"><input type="text" name="capital" size="10" value="'.$soc->capital.'"> '.$conf->monnaie.'</td></tr>'; print '<tr><td>'.$langs->trans("Capital").'</td><td colspan="3"><input type="text" name="capital" size="10" value="'.$soc->capital.'"> '.$conf->monnaie.'</td></tr>';
print '<tr><td>Forme juridique</td><td colspan="3">'; print '<tr><td>Forme juridique</td><td colspan="3">';
$form->select_forme_juridique($soc->forme_juridique_code); $form->select_forme_juridique($soc->forme_juridique_code,$soc->pays_code);
print '</td></tr>'; print '</td></tr>';
print '<tr><td>Effectif</td><td colspan="3">'; print '<tr><td>Effectif</td><td colspan="3">';
@ -433,16 +485,16 @@ else
print '<tr><td>'.$langs->transcountry('ProfId1',$soc->pays_code).'</td><td>'; print '<tr><td>'.$langs->transcountry('ProfId1',$soc->pays_code).'</td><td>';
// Si société FR et siren fourni, on le vérifie // Si société FR et siren fourni, on le vérifie
if ($soc->pays_code == "FR" && $soc->siren) { if ($soc->pays_code == "FR" && $soc->siren) {
if ($soc->check_siren() == 0) if ($soc->check_siren() == 0)
{ {
print '<a target="_blank" href="http://www.societe.com/cgi-bin/recherche?rncs='.$soc->siren.'">'.$soc->siren.'</a>&nbsp;'; print '<a target="_blank" href="http://www.societe.com/cgi-bin/recherche?rncs='.$soc->siren.'">'.$soc->siren.'</a>&nbsp;';
} }
else else
{ {
print '<a class="error">'.$soc->siren; print '<a class="error">'.$soc->siren;
// Siren invalide // Siren invalide
print "&nbsp;Code Siren Invalide !</a>"; print "&nbsp;Code Siren Invalide !</a>";
} }
} }
else { else {
print $soc->siren; print $soc->siren;