diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 22d6f6a30876fec1c75e9f3adaba8fdcda2ff09e..78f85dbb9aa14a52c2b2eee1534dc283733473aa 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -18,27 +18,28 @@ */ /** - \file htdocs/admin/company.php - \ingroup company - \brief Page d'accueil de l'espace administration/configuration - \version $Id$ -*/ + * \file htdocs/admin/company.php + * \ingroup company + * \brief Page d'accueil de l'espace administration/configuration + * \version $Id$ + */ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/images.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); +require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); $langs->load("admin"); $langs->load("companies"); if (!$user->admin) - accessforbidden(); +accessforbidden(); if ( (isset($_POST["action"]) && $_POST["action"] == 'update') - || (isset($_POST["action"]) && $_POST["action"] == 'updateedit') ) +|| (isset($_POST["action"]) && $_POST["action"] == 'updateedit') ) { dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOM",$_POST["nom"]); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADRESSE",$_POST["address"]); @@ -57,7 +58,7 @@ if ( (isset($_POST["action"]) && $_POST["action"] == 'update') if (eregi('([^\\\/:]+)$',$_FILES["logo"]["name"],$reg)) { $original_file=$reg[1]; - + $isimage=image_format_supported($original_file); if ($isimage >= 0) { @@ -65,16 +66,16 @@ if ( (isset($_POST["action"]) && $_POST["action"] == 'update') if (! is_dir($conf->societe->dir_logos)) { create_exdir($conf->societe->dir_logos); - } + } if (dol_move_uploaded_file($_FILES["logo"]["tmp_name"],$conf->societe->dir_logos.'/'.$original_file,1) > 0) { dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO",$original_file); - + // Create thumbs of logo if ($isimage > 0) { $quality = 80; - + $imgThumbSmall = vignette($conf->societe->dir_logos.'/'.$original_file, 200, 100, '_small', $quality); if (eregi('([^\\\/:]+)$',$imgThumbSmall,$reg)) { @@ -82,7 +83,7 @@ if ( (isset($_POST["action"]) && $_POST["action"] == 'update') dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$imgThumbSmall); } else dolibarr_syslog($imgThumbSmall); - + // Cr�ation de la vignette de la page "Soci�t�/Institution" $imgThumbMini = vignette($conf->societe->dir_logos.'/'.$original_file, 100, 30, '_mini', $quality); if (eregi('([^\\\/:]+)$',$imgThumbMini,$reg)) @@ -102,7 +103,7 @@ if ( (isset($_POST["action"]) && $_POST["action"] == 'update') else { $message .= '<div class="error">'.$langs->trans("ErrorOnlyPngJpgSupported").'</div>'; - } + } } } @@ -113,7 +114,7 @@ if ( (isset($_POST["action"]) && $_POST["action"] == 'update') dolibarr_set_const($db, "MAIN_INFO_APE",$_POST["ape"]); dolibarr_set_const($db, "MAIN_INFO_RCS",$_POST["rcs"]); dolibarr_set_const($db, "MAIN_INFO_TVAINTRA",$_POST["tva"]); - + dolibarr_set_const($db, "SOCIETE_FISCAL_MONTH_START",$_POST["fiscalmonthstart"]); dolibarr_set_const($db, "FACTURE_TVAOPTION",$_POST["optiontva"]); @@ -142,7 +143,7 @@ if ($_GET["action"] == 'addthumb') dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$imgThumbSmall); } else dolibarr_syslog($imgThumbSmall); - + // Cr�ation de la vignette de la page "Soci�t�/Institution" $imgThumbMini = vignette($conf->societe->dir_logos.'/'.$_GET["file"], 100, 30, '_mini',80); if (image_format_supported($imgThumbSmall) >= 0 && eregi('([^\\\/:]+)$',$imgThumbMini,$reg)) @@ -155,7 +156,7 @@ if ($_GET["action"] == 'addthumb') Header("Location: ".$_SERVER["PHP_SELF"]); exit; } - else + else { $message .= '<div class="error">'.$langs->trans("ErrorImageFormatNotSupported").'</div>'; dolibarr_syslog($langs->transnoentities("ErrorImageFormatNotSupported"),LOG_WARNING); @@ -174,12 +175,12 @@ if ($_GET["action"] == 'removelogo') dol_delete_file($logofile); dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO"); $mysoc->logo=''; - + $logosmallfile=$conf->societe->dir_logos.'/thumbs/'.$mysoc->logo_small; dol_delete_file($logosmallfile); dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL"); $mysoc->logo_small=''; - + $logominifile=$conf->societe->dir_logos.'/thumbs/'.$mysoc->logo_mini; dol_delete_file($logominifile); dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI"); @@ -193,6 +194,8 @@ if ($_GET["action"] == 'removelogo') llxHeader(); $form = new Form($db); +$formcompany = new FormCompany($db); + $countrynotdefined='<font class="error">'.$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')</font>'; print_fiche_titre($langs->trans("CompanyFundation"),'','setup'); @@ -201,442 +204,442 @@ print $langs->trans("CompanyFundationDesc")."<br>\n"; print "<br>\n"; if ((isset($_GET["action"]) && $_GET["action"] == 'edit') - || (isset($_POST["action"]) && $_POST["action"] == 'updateedit') ) +|| (isset($_POST["action"]) && $_POST["action"] == 'updateedit') ) { - /** - * Edition des param�tres - */ - - print '<form enctype="multipart/form-data" method="post" action="'.$_SERVER["PHP_SELF"].'" name="form_index">'; - print '<input type="hidden" name="action" value="update">'; - $var=true; - - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre"><td width="35%">'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyName").'</td><td>'; - print '<input name="nom" size="30" value="'. $conf->global->MAIN_INFO_SOCIETE_NOM . '"></td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyAddress").'</td><td>'; - print '<textarea name="address" cols="60" rows="'.ROWS_3.'">'. $conf->global->MAIN_INFO_SOCIETE_ADRESSE . '</textarea></td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyZip").'</td><td>'; - print '<input name="cp" value="'. $conf->global->MAIN_INFO_SOCIETE_CP . '" size="10"></td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyTown").'</td><td>'; - print '<input name="ville" size="30" value="'. $conf->global->MAIN_INFO_SOCIETE_VILLE . '"></td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("Country").'</td><td>'; - $form->select_pays($conf->global->MAIN_INFO_SOCIETE_PAYS,'pays_id',($conf->use_javascript_ajax?' onChange="company_save_refresh()"':'')); + /** + * Edition des param�tres + */ + + print '<form enctype="multipart/form-data" method="post" action="'.$_SERVER["PHP_SELF"].'" name="form_index">'; + print '<input type="hidden" name="action" value="update">'; + $var=true; + + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre"><td width="35%">'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyName").'</td><td>'; + print '<input name="nom" size="30" value="'. $conf->global->MAIN_INFO_SOCIETE_NOM . '"></td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyAddress").'</td><td>'; + print '<textarea name="address" cols="60" rows="'.ROWS_3.'">'. $conf->global->MAIN_INFO_SOCIETE_ADRESSE . '</textarea></td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyZip").'</td><td>'; + print '<input name="cp" value="'. $conf->global->MAIN_INFO_SOCIETE_CP . '" size="10"></td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyTown").'</td><td>'; + print '<input name="ville" size="30" value="'. $conf->global->MAIN_INFO_SOCIETE_VILLE . '"></td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("Country").'</td><td>'; + $form->select_pays($conf->global->MAIN_INFO_SOCIETE_PAYS,'pays_id',($conf->use_javascript_ajax?' onChange="company_save_refresh()"':'')); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCurrency").'</td><td>'; - $form->select_currency($conf->global->MAIN_MONNAIE,"currency"); - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("Tel").'</td><td>'; - print '<input name="tel" value="'. $conf->global->MAIN_INFO_SOCIETE_TEL . '"></td></tr>'; - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("Fax").'</td><td>'; - print '<input name="fax" value="'. $conf->global->MAIN_INFO_SOCIETE_FAX . '"></td></tr>'; - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("Mail").'</td><td>'; - print '<input name="mail" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_MAIL . '"></td></tr>'; - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("Web").'</td><td>'; - print '<input name="web" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_WEB . '"></td></tr>'; - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("Gencod").'</td><td>'; - print '<input name="gencod" size="40" value="'. $conf->global->MAIN_INFO_SOCIETE_GENCOD . '"></td></tr>'; - print '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("Logo").' (png,jpg)</td><td>'; - print '<table width="100%" class="notopnoleftnoright"><tr><td valign="center">'; - print '<input type="file" class="flat" name="logo" size="50">'; - print '</td><td valign="middle" align="right">'; - if ($mysoc->logo_mini && file_exists($conf->societe->dir_logos.'/thumbs/'.$mysoc->logo_mini)) - { - print '<a href="'.$_SERVER["PHP_SELF"].'?action=removelogo">'.img_delete($langs->trans("Delete")).'</a>'; - print ' '; - print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">'; - } - else - { - print '<img height="30" src="'.DOL_URL_ROOT.'/theme/common/nophoto.jpg">'; - } - print '</td></tr></table>'; - print '</td></tr>'; - - - - $var=!$var; - print '<tr '.$bc[$var].'><td valign="top">'.$langs->trans("Note").'</td><td>'; - print '<textarea class="flat" name="note" cols="60" rows="'.ROWS_4.'">'.$conf->global->MAIN_INFO_SOCIETE_NOTE.'</textarea></td></tr>'; - print '</td></tr>'; - - print '</table>'; - - print '<br>'; - - // Identifiants de la soci�t� (propre au pays) - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>'; - $var=true; - - $langs->load("companies"); - - // Recupere code pays - $code_pays=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation - if ($conf->global->MAIN_INFO_SOCIETE_PAYS) - { - $sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays"; - $sql .= " WHERE rowid = ".$conf->global->MAIN_INFO_SOCIETE_PAYS; - $resql=$db->query($sql); - if ($resql) { - $obj = $db->fetch_object($resql); - if ($obj->code) $code_pays=$obj->code; - } - else { - dolibarr_print_error($db); - } - } - - // Capital - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>'; - print '<input name="capital" size="20" value="' . $conf->global->MAIN_INFO_CAPITAL . '"></td></tr>'; - - // Forme juridique - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("JuridicalStatus").'</td><td>'; - if ($conf->global->MAIN_INFO_SOCIETE_PAYS) - { - $form->select_forme_juridique($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE,$code_pays); - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - - // ProfID1 - if ($langs->transcountry("ProfId1",$code_pays) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$code_pays).'</td><td>'; - if ($conf->global->MAIN_INFO_SOCIETE_PAYS) - { - print '<input name="siren" size="20" value="' . $conf->global->MAIN_INFO_SIREN . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // ProfId2 - if ($langs->transcountry("ProfId2",$code_pays) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$code_pays).'</td><td>'; - if ($conf->global->MAIN_INFO_SOCIETE_PAYS) - { - print '<input name="siret" size="20" value="' . $conf->global->MAIN_INFO_SIRET . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // ProfId3 - if ($langs->transcountry("ProfId3",$code_pays) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$code_pays).'</td><td>'; - if ($conf->global->MAIN_INFO_SOCIETE_PAYS) - { - print '<input name="ape" size="20" value="' . $conf->global->MAIN_INFO_APE . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // ProfId4 - if ($langs->transcountry("ProfId4",$code_pays) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId4",$code_pays).'</td><td>'; - if ($conf->global->MAIN_INFO_SOCIETE_PAYS) - { - print '<input name="rcs" size="20" value="' . $conf->global->MAIN_INFO_RCS . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // TVA Intra - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("VATIntra").'</td><td>'; - print '<input name="tva" size="20" value="' . $conf->global->MAIN_INFO_TVAINTRA . '">'; - print '</td></tr>'; - - print '</table>'; - - - /* - * D�but d'ann�e fiscale - */ - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("FiscalMonthStart").'</td><td>'; - print $form->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',1) . '</td></tr>'; - - print "</table>"; - - - /* - * Options fiscale - */ - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>'; - print '<td align="right"> </td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"reel\"".($conf->global->FACTURE_TVAOPTION != "franchise"?" checked":"")."> ".$langs->trans("VATIsUsed")."</label></td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td>".$langs->trans("VATIsUsedDesc")."</td></tr>"; - print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n"; - print "</table>"; - print "</td></tr>\n"; - - /* Je d�sactive cette option "facturation" car ce statut fiscal n'existe pas. Seul le r�el et franchise existe. - Cette option ne doit donc pas etre en "exclusif" avec l'option fiscale de gestion de tva. Peut etre faut-il - une option a part qui n'entre pas en conflit avec les choix "assuj�ti TVA" ou "non". - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"facturation\"".($conf->global->FACTURE_TVAOPTION == "facturation"?" checked":"")."> Option facturation</label></td>"; - print "<td colspan=\"2\">L'option 'facturation' est utilis�e par les entreprises qui payent la TVA � facturation (vente de mat�riel).</td></tr>\n"; - */ - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"franchise\"".($conf->global->FACTURE_TVAOPTION == "franchise"?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td>".$langs->trans("VATIsNotUsedDesc")."</td></tr>"; - print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n"; - print "</table>"; - print "</td></tr>\n"; - - print "</table>"; - - - - print '<br><center><input type="submit" class="button" value="'.$langs->trans("Save").'"></center>'; - print '<br>'; - - print '</form>'; + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCurrency").'</td><td>'; + $form->select_currency($conf->global->MAIN_MONNAIE,"currency"); + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("Tel").'</td><td>'; + print '<input name="tel" value="'. $conf->global->MAIN_INFO_SOCIETE_TEL . '"></td></tr>'; + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("Fax").'</td><td>'; + print '<input name="fax" value="'. $conf->global->MAIN_INFO_SOCIETE_FAX . '"></td></tr>'; + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("Mail").'</td><td>'; + print '<input name="mail" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_MAIL . '"></td></tr>'; + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("Web").'</td><td>'; + print '<input name="web" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_WEB . '"></td></tr>'; + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("Gencod").'</td><td>'; + print '<input name="gencod" size="40" value="'. $conf->global->MAIN_INFO_SOCIETE_GENCOD . '"></td></tr>'; + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("Logo").' (png,jpg)</td><td>'; + print '<table width="100%" class="notopnoleftnoright"><tr><td valign="center">'; + print '<input type="file" class="flat" name="logo" size="50">'; + print '</td><td valign="middle" align="right">'; + if ($mysoc->logo_mini && file_exists($conf->societe->dir_logos.'/thumbs/'.$mysoc->logo_mini)) + { + print '<a href="'.$_SERVER["PHP_SELF"].'?action=removelogo">'.img_delete($langs->trans("Delete")).'</a>'; + print ' '; + print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">'; + } + else + { + print '<img height="30" src="'.DOL_URL_ROOT.'/theme/common/nophoto.jpg">'; + } + print '</td></tr></table>'; + print '</td></tr>'; + + + + $var=!$var; + print '<tr '.$bc[$var].'><td valign="top">'.$langs->trans("Note").'</td><td>'; + print '<textarea class="flat" name="note" cols="60" rows="'.ROWS_4.'">'.$conf->global->MAIN_INFO_SOCIETE_NOTE.'</textarea></td></tr>'; + print '</td></tr>'; + + print '</table>'; + + print '<br>'; + + // Identifiants de la soci�t� (propre au pays) + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>'; + $var=true; + + $langs->load("companies"); + + // Recupere code pays + $code_pays=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation + if ($conf->global->MAIN_INFO_SOCIETE_PAYS) + { + $sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays"; + $sql .= " WHERE rowid = ".$conf->global->MAIN_INFO_SOCIETE_PAYS; + $resql=$db->query($sql); + if ($resql) { + $obj = $db->fetch_object($resql); + if ($obj->code) $code_pays=$obj->code; + } + else { + dolibarr_print_error($db); + } + } + + // Capital + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>'; + print '<input name="capital" size="20" value="' . $conf->global->MAIN_INFO_CAPITAL . '"></td></tr>'; + + // Forme juridique + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("JuridicalStatus").'</td><td>'; + if ($conf->global->MAIN_INFO_SOCIETE_PAYS) + { + $formcompany->select_forme_juridique($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE,$code_pays); + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + + // ProfID1 + if ($langs->transcountry("ProfId1",$code_pays) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$code_pays).'</td><td>'; + if ($conf->global->MAIN_INFO_SOCIETE_PAYS) + { + print '<input name="siren" size="20" value="' . $conf->global->MAIN_INFO_SIREN . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // ProfId2 + if ($langs->transcountry("ProfId2",$code_pays) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$code_pays).'</td><td>'; + if ($conf->global->MAIN_INFO_SOCIETE_PAYS) + { + print '<input name="siret" size="20" value="' . $conf->global->MAIN_INFO_SIRET . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // ProfId3 + if ($langs->transcountry("ProfId3",$code_pays) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$code_pays).'</td><td>'; + if ($conf->global->MAIN_INFO_SOCIETE_PAYS) + { + print '<input name="ape" size="20" value="' . $conf->global->MAIN_INFO_APE . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // ProfId4 + if ($langs->transcountry("ProfId4",$code_pays) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId4",$code_pays).'</td><td>'; + if ($conf->global->MAIN_INFO_SOCIETE_PAYS) + { + print '<input name="rcs" size="20" value="' . $conf->global->MAIN_INFO_RCS . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // TVA Intra + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("VATIntra").'</td><td>'; + print '<input name="tva" size="20" value="' . $conf->global->MAIN_INFO_TVAINTRA . '">'; + print '</td></tr>'; + + print '</table>'; + + + /* + * D�but d'ann�e fiscale + */ + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("FiscalMonthStart").'</td><td>'; + print $form->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',1) . '</td></tr>'; + + print "</table>"; + + + /* + * Options fiscale + */ + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>'; + print '<td align="right"> </td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"reel\"".($conf->global->FACTURE_TVAOPTION != "franchise"?" checked":"")."> ".$langs->trans("VATIsUsed")."</label></td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td>".$langs->trans("VATIsUsedDesc")."</td></tr>"; + print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n"; + print "</table>"; + print "</td></tr>\n"; + + /* Je d�sactive cette option "facturation" car ce statut fiscal n'existe pas. Seul le r�el et franchise existe. + Cette option ne doit donc pas etre en "exclusif" avec l'option fiscale de gestion de tva. Peut etre faut-il + une option a part qui n'entre pas en conflit avec les choix "assuj�ti TVA" ou "non". + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"facturation\"".($conf->global->FACTURE_TVAOPTION == "facturation"?" checked":"")."> Option facturation</label></td>"; + print "<td colspan=\"2\">L'option 'facturation' est utilis�e par les entreprises qui payent la TVA � facturation (vente de mat�riel).</td></tr>\n"; + */ + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" value=\"franchise\"".($conf->global->FACTURE_TVAOPTION == "franchise"?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td>".$langs->trans("VATIsNotUsedDesc")."</td></tr>"; + print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n"; + print "</table>"; + print "</td></tr>\n"; + + print "</table>"; + + + + print '<br><center><input type="submit" class="button" value="'.$langs->trans("Save").'"></center>'; + print '<br>'; + + print '</form>'; } else { - /* - * Affichage des param�tres - */ + /* + * Affichage des param�tres + */ if ($message) print $message.'<br>'; - - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>'; - $var=true; - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyName").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_NOM . '</td></tr>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>'; + $var=true; - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br($conf->global->MAIN_INFO_SOCIETE_ADRESSE) . '</td></tr>'; + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyName").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_NOM . '</td></tr>'; - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyZip").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_CP . '</td></tr>'; + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br($conf->global->MAIN_INFO_SOCIETE_ADRESSE) . '</td></tr>'; - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyTown").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_VILLE . '</td></tr>'; + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyZip").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_CP . '</td></tr>'; - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCountry").'</td><td>'; - print getCountryLabel($conf->global->MAIN_INFO_SOCIETE_PAYS,1); - print '</td></tr>'; + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyTown").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_VILLE . '</td></tr>'; - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>'; - print currency_name($conf->global->MAIN_MONNAIE,1); + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCountry").'</td><td>'; + print getCountryLabel($conf->global->MAIN_INFO_SOCIETE_PAYS,1); + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>'; + print currency_name($conf->global->MAIN_MONNAIE,1); print ' ('.$conf->global->MAIN_MONNAIE.')'; - print '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Tel").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_TEL . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Fax").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_FAX . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Mail").'</td><td>' . dol_print_email($conf->global->MAIN_INFO_SOCIETE_MAIL) . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Web").'</td><td>' . dol_print_url($conf->global->MAIN_INFO_SOCIETE_WEB) . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Gencod").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_GENCOD . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Logo").'</td><td>'; - - print '<table width="100%" class="notopnoleftnoright"><tr><td valign="center">'; - print $mysoc->logo; - print '</td><td valign="center" align="right">'; - - // On propose la g�n�ration de la vignette si elle n'existe pas - if (!is_file($conf->societe->dir_logos.'/thumbs/'.$mysoc->logo_mini) && eregi('(\.jpg|\.jpeg|\.png)$',$mysoc->logo)) - { - print '<a href="'.$_SERVER["PHP_SELF"].'?action=addthumb&file='.urlencode($mysoc->logo).'">'.img_refresh($langs->trans('GenerateThumb')).' </a>'; - } - else if ($mysoc->logo_mini && is_file($conf->societe->dir_logos.'/thumbs/'.$mysoc->logo_mini)) - { - print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">'; - } - else - { - print '<img height="30" src="'.DOL_URL_ROOT.'/theme/common/nophoto.jpg">'; - } + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Tel").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_TEL . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Fax").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_FAX . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Mail").'</td><td>' . dol_print_email($conf->global->MAIN_INFO_SOCIETE_MAIL) . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Web").'</td><td>' . dol_print_url($conf->global->MAIN_INFO_SOCIETE_WEB) . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Gencod").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_GENCOD . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Logo").'</td><td>'; + + print '<table width="100%" class="notopnoleftnoright"><tr><td valign="center">'; + print $mysoc->logo; + print '</td><td valign="center" align="right">'; + + // On propose la g�n�ration de la vignette si elle n'existe pas + if (!is_file($conf->societe->dir_logos.'/thumbs/'.$mysoc->logo_mini) && eregi('(\.jpg|\.jpeg|\.png)$',$mysoc->logo)) + { + print '<a href="'.$_SERVER["PHP_SELF"].'?action=addthumb&file='.urlencode($mysoc->logo).'">'.img_refresh($langs->trans('GenerateThumb')).' </a>'; + } + else if ($mysoc->logo_mini && is_file($conf->societe->dir_logos.'/thumbs/'.$mysoc->logo_mini)) + { + print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">'; + } + else + { + print '<img height="30" src="'.DOL_URL_ROOT.'/theme/common/nophoto.jpg">'; + } print '</td></tr></table>'; - print '</td></tr>'; + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%" valign="top">'.$langs->trans("Note").'</td><td>' . nl2br($conf->global->MAIN_INFO_SOCIETE_NOTE) . '</td></tr>'; + + print '</table>'; - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%" valign="top">'.$langs->trans("Note").'</td><td>' . nl2br($conf->global->MAIN_INFO_SOCIETE_NOTE) . '</td></tr>'; - print '</table>'; + print '<br>'; - - print '<br>'; - - // Identifiants de la soci�t� (propre au pays) + // Identifiants de la soci�t� (propre au pays) print '<form name="formsoc" method="post">'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>'; - $var=true; - - // Recupere code pays - $code_pays=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation - if ($conf->global->MAIN_INFO_SOCIETE_PAYS) - { - $sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays"; - $sql .= " WHERE rowid = ".$conf->global->MAIN_INFO_SOCIETE_PAYS; - $result=$db->query($sql); - if ($result) - { - $obj = $db->fetch_object(); - if ($obj->code) $code_pays=$obj->code; - } - else { - dolibarr_print_error($db); - } - } - - // Capital - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>'; - print $conf->global->MAIN_INFO_CAPITAL . '</td></tr>'; - - // Forme juridique - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("JuridicalStatus").'</td><td>'; - print getFormeJuridiqueLabel($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE,1); - print '</td></tr>'; - - // ProfId1 - if ($langs->transcountry("ProfId1",$code_pays) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$code_pays).'</td><td>'; - if ($langs->transcountry("ProfId1",$code_pays) != '-') - { - print $conf->global->MAIN_INFO_SIREN; - } - print '</td></tr>'; - } - - // ProfId2 - if ($langs->transcountry("ProfId2",$code_pays) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$code_pays).'</td><td>'; - if ($langs->transcountry("ProfId2",$code_pays) != '-') - { - print $conf->global->MAIN_INFO_SIRET; - } - print '</td></tr>'; - } - - // ProfId3 - if ($langs->transcountry("ProfId3",$code_pays) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$code_pays).'</td><td>'; - if ($langs->transcountry("ProfId3",$code_pays) != '-') - { - print $conf->global->MAIN_INFO_APE; - } - print '</td></tr>'; - } - - // ProfId4 - if ($langs->transcountry("ProfId4",$code_pays) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId4",$code_pays).'</td><td>'; - if ($langs->transcountry("ProfId4",$code_pays) != '-') - { - print $conf->global->MAIN_INFO_RCS; - } - print '</td></tr>'; - } - - // TVA + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>'; + $var=true; + + // Recupere code pays + $code_pays=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation + if ($conf->global->MAIN_INFO_SOCIETE_PAYS) + { + $sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays"; + $sql .= " WHERE rowid = ".$conf->global->MAIN_INFO_SOCIETE_PAYS; + $result=$db->query($sql); + if ($result) + { + $obj = $db->fetch_object(); + if ($obj->code) $code_pays=$obj->code; + } + else { + dolibarr_print_error($db); + } + } + + // Capital + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>'; + print $conf->global->MAIN_INFO_CAPITAL . '</td></tr>'; + + // Forme juridique + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("JuridicalStatus").'</td><td>'; + print getFormeJuridiqueLabel($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE,1); + print '</td></tr>'; + + // ProfId1 + if ($langs->transcountry("ProfId1",$code_pays) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$code_pays).'</td><td>'; + if ($langs->transcountry("ProfId1",$code_pays) != '-') + { + print $conf->global->MAIN_INFO_SIREN; + } + print '</td></tr>'; + } + + // ProfId2 + if ($langs->transcountry("ProfId2",$code_pays) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$code_pays).'</td><td>'; + if ($langs->transcountry("ProfId2",$code_pays) != '-') + { + print $conf->global->MAIN_INFO_SIRET; + } + print '</td></tr>'; + } + + // ProfId3 + if ($langs->transcountry("ProfId3",$code_pays) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$code_pays).'</td><td>'; + if ($langs->transcountry("ProfId3",$code_pays) != '-') + { + print $conf->global->MAIN_INFO_APE; + } + print '</td></tr>'; + } + + // ProfId4 + if ($langs->transcountry("ProfId4",$code_pays) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId4",$code_pays).'</td><td>'; + if ($langs->transcountry("ProfId4",$code_pays) != '-') + { + print $conf->global->MAIN_INFO_RCS; + } + print '</td></tr>'; + } + + // TVA if ($conf->use_javascript_ajax) { print "\n"; @@ -647,10 +650,10 @@ else print '</script>'; print "\n"; } - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("VATIntra").'</td>'; + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("VATIntra").'</td>'; print '<td>'; - if ($conf->global->MAIN_INFO_TVAINTRA) + if ($conf->global->MAIN_INFO_TVAINTRA) { $s=''; $code=substr($conf->global->MAIN_INFO_TVAINTRA,0,2); @@ -676,64 +679,64 @@ else print '</td>'; print '</tr>'; - print '</table>'; + print '</table>'; print '</form>'; - + /* - * D�but d'ann�e fiscale - */ - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("FiscalMonthStart").'</td><td>'; - $monthstart=(! empty($conf->global->SOCIETE_FISCAL_MONTH_START)) ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1; + * D�but d'ann�e fiscale + */ + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("FiscalMonthStart").'</td><td>'; + $monthstart=(! empty($conf->global->SOCIETE_FISCAL_MONTH_START)) ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1; print monthArrayOrSelected($monthstart) . '</td></tr>'; - - print "</table>"; - - /* - * Options fiscale - */ - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>'; - print '<td align="right"> </td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><label><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" disabled value=\"reel\"".($conf->global->FACTURE_TVAOPTION != "franchise"?" checked":"")."> ".$langs->trans("VATIsUsed")."</label></td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td>".$langs->trans("VATIsUsedDesc")."</td></tr>"; - print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n"; - print "</table>"; - print "</td></tr>\n"; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><label><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" disabled value=\"franchise\"".($conf->global->FACTURE_TVAOPTION == "franchise"?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td>".$langs->trans("VATIsNotUsedDesc")."</td></tr>"; - print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n"; - print "</table>"; - print "</td></tr>\n"; - - print "</table>"; - - - // Boutons d'action - print '<div class="tabsAction">'; - print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>'; - print '</div>'; - - print '<br>'; + + print "</table>"; + + /* + * Options fiscale + */ + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>'; + print '<td align="right"> </td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><label><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" disabled value=\"reel\"".($conf->global->FACTURE_TVAOPTION != "franchise"?" checked":"")."> ".$langs->trans("VATIsUsed")."</label></td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td>".$langs->trans("VATIsUsedDesc")."</td></tr>"; + print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n"; + print "</table>"; + print "</td></tr>\n"; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><label><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" disabled value=\"franchise\"".($conf->global->FACTURE_TVAOPTION == "franchise"?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td>".$langs->trans("VATIsNotUsedDesc")."</td></tr>"; + print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n"; + print "</table>"; + print "</td></tr>\n"; + + print "</table>"; + + + // Boutons d'action + print '<div class="tabsAction">'; + print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>'; + print '</div>'; + + print '<br>'; } $db->close(); @@ -741,13 +744,13 @@ $db->close(); llxFooter('$Date$ - $Revision$'); - + /** -* \brief Retourne le nom traduit ou code+nom d'une devise -* \param code_iso Code iso de la devise -* \param withcode 1=affiche code + nom -* \return string Nom traduit de la devise -*/ + * \brief Retourne le nom traduit ou code+nom d'une devise + * \param code_iso Code iso de la devise + * \param withcode 1=affiche code + nom + * \return string Nom traduit de la devise + */ function currency_name($code_iso,$withcode=0) { global $langs,$db; @@ -757,7 +760,7 @@ function currency_name($code_iso,$withcode=0) { return $langs->trans("Currency".$code_iso); } - + // Si pas de traduction, on consulte le libell� par d�faut en table $sql = "SELECT label FROM ".MAIN_DB_PREFIX."c_currencies"; $sql.= " WHERE code_iso='".$code_iso."'"; diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index e5f4334667344bb439ae57d79960416ed82d5417..c917372c262cf5cbbe8305ecefa510889404b576 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -28,6 +28,7 @@ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); +require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); $langs->load("other"); $langs->load("admin"); @@ -715,6 +716,7 @@ function fieldList($fieldlist,$obj='') $html = new Form($db); $formadmin = new FormAdmin($db); + $formcompany = new FormCompany($db); foreach ($fieldlist as $field => $value) { @@ -730,7 +732,7 @@ function fieldList($fieldlist,$obj='') } elseif ($fieldlist[$field] == 'region') { print '<td>'; - $html->select_region($region_id,'region'); + $formcompany->select_region($region_id,'region'); print '</td>'; } elseif ($fieldlist[$field] == 'region_id') { diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php index 4f115db8b96ca4c96767b61c1575498eeba132e1..4dfec000e00865acf63c0c5c18455cb1bed309ec 100644 --- a/htdocs/comm/action/fiche.php +++ b/htdocs/comm/action/fiche.php @@ -448,7 +448,7 @@ if ($_GET["action"] == 'create') } else { - $html->select_type_actions($actioncomm->type_code, "actioncode"); + $htmlactions->select_type_actions($actioncomm->type_code, "actioncode"); } print '</td></tr>'; diff --git a/htdocs/comm/prospect/fiche.php b/htdocs/comm/prospect/fiche.php index 06ac6c77903446671297d2da9b618898d6cf6356..7003d4db50c4c622bc746a957c5adfa2a5cd9d32 100644 --- a/htdocs/comm/prospect/fiche.php +++ b/htdocs/comm/prospect/fiche.php @@ -28,6 +28,7 @@ require_once("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/prospect.class.php"); +require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/actioncomm.class.php"); if ($conf->propal->enabled) require_once(DOL_DOCUMENT_ROOT."/propal.class.php"); @@ -72,7 +73,9 @@ if ($_POST["action"] == 'setprospectlevel' && $user->rights->societe->creer) *********************************************************************************/ llxHeader(); + $form=new Form($db); +$formcompany=new FormCompany($db); if ($socid > 0) { @@ -127,12 +130,12 @@ if ($socid > 0) print '</td><td colspan="3">'; if ($_GET['action'] == 'editlevel') { - $form->form_prospect_level($_SERVER['PHP_SELF'].'?socid='.$societe->id,$societe->fk_prospectlevel,'prospect_level_id',1); + $formcompany->form_prospect_level($_SERVER['PHP_SELF'].'?socid='.$societe->id,$societe->fk_prospectlevel,'prospect_level_id',1); } else { print $societe->getLibLevel(); - //$html->form_prospect_level($_SERVER['PHP_SELF'].'?socid='.$objsoc->id,$objsoc->mode_reglement,'none'); + //$formcompany->form_prospect_level($_SERVER['PHP_SELF'].'?socid='.$objsoc->id,$objsoc->mode_reglement,'none'); } print "</td>"; print '</tr>'; diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php index cd67020bbcc2a31d874b36ff7a5e4d97ae1c60c4..d1f706f9ca8935f5ab26f9a0e42318cdfca32825 100644 --- a/htdocs/commande/fiche.php +++ b/htdocs/commande/fiche.php @@ -29,7 +29,8 @@ require('./pre.inc.php'); require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); -require_once(DOL_DOCUMENT_ROOT ."/includes/modules/commande/modules_commande.php"); +require_once(DOL_DOCUMENT_ROOT."/html.formorder.class.php"); +require_once(DOL_DOCUMENT_ROOT."/includes/modules/commande/modules_commande.php"); require_once(DOL_DOCUMENT_ROOT.'/commande/commande.class.php'); require_once(DOL_DOCUMENT_ROOT.'/actioncomm.class.php'); require_once(DOL_DOCUMENT_ROOT."/lib/order.lib.php"); @@ -837,6 +838,8 @@ llxHeader('',$langs->trans('Order'),'Commande'); $html = new Form($db); $formfile = new FormFile($db); +$formorder = new FormOrder($db); + /********************************************************************* * @@ -971,7 +974,7 @@ if ($_GET['action'] == 'create' && $user->rights->commande->creer) } print '<tr><td>'.$langs->trans('Source').'</td><td colspan="2">'; - $html->selectSourcesCommande('','source_id',1); + $formorder->selectSourcesCommande('','source_id',1); print '</td></tr>'; print '<tr><td>'.$langs->trans('Model').'</td>'; diff --git a/htdocs/contact/fiche.php b/htdocs/contact/fiche.php index f62222d4cb6f68021c1fd43ebe38a3edcf593b38..b0c564b242fdc6f6e46cf6abeddd485e38e849ab 100644 --- a/htdocs/contact/fiche.php +++ b/htdocs/contact/fiche.php @@ -32,6 +32,7 @@ require_once(DOL_DOCUMENT_ROOT."/actioncomm.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/contact.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); +require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); $langs->load("companies"); $langs->load("users"); @@ -195,6 +196,7 @@ if ($user->rights->societe->contact->creer) llxHeader(); $form = new Form($db); +$formcompany = new FormCompany($db); if ($socid) { @@ -289,7 +291,7 @@ if ($user->rights->societe->contact->creer) // Civility print '<tr><td width="15%">'.$langs->trans("UserTitle").'</td><td colspan="3">'; - print $form->select_civilite($contact->civilite_id); + print $formcompany->select_civilite($contact->civilite_id); print '</td></tr>'; print '<tr><td>'.$langs->trans("PostOrFunction").'</td><td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="'.$contact->poste.'"></td>'; @@ -372,7 +374,7 @@ if ($user->rights->societe->contact->creer) // Civility print '<tr><td>'.$langs->trans("UserTitle").'</td><td colspan="3">'; - print $form->select_civilite($contact->civilite_id); + print $formcompany->select_civilite($contact->civilite_id); print '</td></tr>'; print '<tr><td>'.$langs->trans("PostOrFunction" ).'</td><td colspan="3"><input name="poste" type="text" size="50" maxlength="80" value="'.$contact->poste.'"></td></tr>'; diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 2582cab201972d44219cabae404e883f0054c946..3145a2b722cb8d3ceda15f5152f4aadc213c5368 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -20,11 +20,11 @@ */ /** - \file htdocs/fourn/commande/fiche.php - \ingroup commande - \brief Fiche de ventilation des commandes fournisseurs - \version $Id$ -*/ + \file htdocs/fourn/commande/fiche.php + \ingroup commande + \brief Fiche de ventilation des commandes fournisseurs + \version $Id$ + */ require('./pre.inc.php'); require_once(DOL_DOCUMENT_ROOT.'/includes/modules/supplier_order/modules_commandefournisseur.php'); @@ -45,15 +45,15 @@ if (!$user->rights->fournisseur->commande->lire) accessforbidden(); $socid=0; if ($user->societe_id > 0) { - $action = ''; - $socid = $user->societe_id; + $action = ''; + $socid = $user->societe_id; } // R�cup�ration de l'id de projet $projetid = 0; if ($_GET["projetid"]) { - $projetid = $_GET["projetid"]; + $projetid = $_GET["projetid"]; } $mesg=''; @@ -63,23 +63,23 @@ $mesg=''; */ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->receptionner) { - $commande = new CommandeFournisseur($db); - $commande->fetch($_GET["id"]); + $commande = new CommandeFournisseur($db); + $commande->fetch($_GET["id"]); - foreach($_POST as $key => $value) - { - if ( eregi('^product_([0-9]+)$', $key, $reg) ) + foreach($_POST as $key => $value) { + if ( eregi('^product_([0-9]+)$', $key, $reg) ) + { $prod = "product_".$reg[1]; $qty = "qty_".$reg[1]; $ent = "entrepot_".$reg[1]; $pu = "pu_".$reg[1]; $result = $commande->DispatchProduct($user, $_POST[$prod], $_POST[$qty], $_POST[$ent], $_POST[$pu]); + } } - } - Header("Location: dispatch.php?id=".$_GET["id"]); - exit; + Header("Location: dispatch.php?id=".$_GET["id"]); + exit; } @@ -96,307 +96,307 @@ $html = new Form($db); $id = $_GET['id']; if ($id > 0) { - //if ($mesg) print $mesg.'<br>'; - - $commande = new CommandeFournisseur($db); - if ( $commande->fetch($_GET['id']) >= 0) - { - $soc = new Societe($db); - $soc->fetch($commande->socid); - - $author = new User($db); - $author->id = $commande->user_author_id; - $author->fetch(); - - $h = 0; - $head[$h][0] = DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$commande->id; - $head[$h][1] = $langs->trans("OrderCard"); - $h++; - - $head[$h][0] = DOL_URL_ROOT.'/fourn/commande/dispatch.php?id='.$commande->id; - $head[$h][1] = $langs->trans("OrderDispatch"); - $a = $h; - $h++; - - $head[$h][0] = DOL_URL_ROOT.'/fourn/commande/note.php?id='.$commande->id; - $head[$h][1] = $langs->trans("Note"); - $h++; - - $head[$h][0] = DOL_URL_ROOT.'/fourn/commande/history.php?id='.$commande->id; - $head[$h][1] = $langs->trans("OrderFollow"); - $h++; - - $title=$langs->trans("SupplierOrder"); - dolibarr_fiche_head($head, $a, $title); - - /* - * Commande - */ - print '<table class="border" width="100%">'; - // Ref - print '<tr><td width="20%">'.$langs->trans("Ref").'</td>'; - print '<td colspan="5">'.$commande->ref.'</td>'; - print '</tr>'; - - // Fournisseur - print '<tr><td width="20%">'.$langs->trans("Supplier")."</td>"; - print '<td colspan="5">'; - print '<b><a href="'.DOL_URL_ROOT.'/fourn/fiche.php?socid='.$soc->id.'">'; - print img_object($langs->trans("ShowSupplier"),'company').' '.$soc->nom.'</a></b></td>'; - print '</tr>'; - - // Statut - print '<tr>'; - print '<td>'.$langs->trans("Status").'</td>'; - print '<td width="50%" colspan="5">'; - print $commande->getLibStatut(4); - print "</td></tr>"; - - if ($commande->methode_commande_id > 0) - { - print '<tr><td>'.$langs->trans("Date").'</td><td colspan="2">'; - - if ($commande->date_commande) - { - print dolibarr_print_date($commande->date_commande,"dayhourtext")."\n"; - } - - print '</td><td width="50%" colspan="3">'; - if ($commande->methode_commande) - { - print "M�thode : " .$commande->methode_commande; - } - print "</td></tr>"; - } - - // Auteur - print '<tr><td>'.$langs->trans("AuthorRequest").'</td>'; - print '<td colspan="2">'.$author->getNomUrl(1).'</td>'; - print '<td colspan="3" width="50%">'; - print " </td></tr>"; - print "</table>"; - - if ($mesg) print $mesg; - else print '<br>'; - - /* - * Lignes de commandes - */ - if ($commande->statut == 3 || $commande->statut == 4 || $commande->statut == 5) - { - print '<form method="POST" action="dispatch.php?id='.$commande->id.'">'; - print '<input type="hidden" name="action" value="dispatch">'; - print '<table class="noborder" width="100%">'; - - $sql = "SELECT cfd.fk_product, sum(cfd.qty) as qty"; - $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; - $sql.= " WHERE cfd.fk_commande = ".$commande->id; - $sql.= " GROUP BY cfd.fk_product"; - - $resql = $db->query($sql); - if ($resql) - { - while ( $row = $db->fetch_row($resql) ) - { - $products_dispatched[$row[0]] = $row[1]; - } - $db->free($resql); - } - - $sql = "SELECT l.ref,l.fk_product,l.description, l.subprice, sum(l.qty) as qty"; - $sql.= ", l.rowid"; - $sql.= ", p.label"; - $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product=p.rowid"; - $sql.= " WHERE l.fk_commande = ".$commande->id; - $sql.= " GROUP BY l.fk_product"; - $sql.= " ORDER BY l.rowid"; - - $resql = $db->query($sql); - if ($resql) - { - $num = $db->num_rows($resql); - $i = 0; - - if ($num) - { - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("Description").'</td>'; - - print '<td align="right">'.$langs->trans("QtyOrdered").'</td>'; - print '<td align="right">'.$langs->trans("QtyDispatched").'</td>'; - print '<td align="right">'.$langs->trans("Warehouse").'</td>'; - print '<td align="right">'.$langs->trans("QtyDelivered").'</td>'; - print "</tr>\n"; - } - - $entrepot = new Entrepot($db); - - $var=true; - while ($i < $num) - { - $objp = $db->fetch_object($resql); - // On n'affiche pas les produits personnalis�s - if ($objp->fk_product) - { - $var=!$var; - print "<tr ".$bc[$var].">"; - print '<td>'; - print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>'; - print ' - '.$objp->label; - if ($objp->description) print '<br>'.nl2br($objp->description); - print '<input name="product_'.$i.'" type="hidden" value="'.$objp->fk_product.'">'; - print '<input name="pu_'.$i.'" type="hidden" value="'.$objp->subprice.'">'; - print "</td>\n"; - - print '<td align="right">'.$objp->qty.'</td>'; - print '<td align="right">'.$products_dispatched[$objp->fk_product].'</td>'; - - print '<td align="right">'; - - if (sizeof($user->entrepots) === 1) - { - $uentrepot = array(); - $uentrepot[$user->entrepots[0]['id']] = $user->entrepots[0]['label']; - $html->select_array("entrepot_".$i, $uentrepot); - } - else - { - $html->select_array("entrepot_".$i, $entrepot->list_array()); - } - print "</td>\n"; - print '<td align="right"><input name="qty_'.$i.'" type="text" size="8" value="'.($objp->qty-$products_dispatched[$objp->fk_product]).'"></td>'; - print "</tr>\n"; - } - $i++; - } - $db->free($resql); - } - else - { - dolibarr_print_error($db); - } - - print "</table>\n"; - print "<br/>\n"; - print '<center><input type="submit" class="button" value="'.$langs->trans("Save").'"></center></form>'; - } - - print "<br/>\n"; - print '<table class="noborder" width="100%">'; - - - $sql = "SELECT p.ref,cfd.fk_product, cfd.qty"; - $sql.= ", cfd.rowid"; - $sql.= ", p.label, e.label as entrepot"; - $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; - $sql.= " , ".MAIN_DB_PREFIX."product as p "; - $sql.= " , ".MAIN_DB_PREFIX."entrepot as e "; - $sql.= " WHERE cfd.fk_commande = ".$commande->id; - $sql.= " AND cfd.fk_product = p.rowid"; - $sql.= " AND cfd.fk_entrepot = e.rowid"; - $sql.= " ORDER BY cfd.rowid ASC;"; - - $resql = $db->query($sql); - if ($resql) - { - $num = $db->num_rows($resql); - $i = 0; - - if ($num) - { - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("Description").'</td>'; - print '<td align="right">'.$langs->trans("QtyDispatched").'</td>'; - print '<td align="right">'.$langs->trans("Warehouse").'</td>'; - print "</tr>\n"; - } - $var=false; - - while ($i < $num) - { - $objp = $db->fetch_object($resql); - print "<tr $bc[$var]>"; - print '<td>'; - print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>'; - print ' - '.$objp->label; - print "</td>\n"; - - print '<td align="right">'.$objp->qty.'</td>'; - print '<td align="right">'.stripslashes($objp->entrepot).'</td>'; - print "</tr>\n"; - - $i++; - $var=!$var; - } - $db->free($resql); - } - else - { - dolibarr_print_error($db); - } - - print "</table>\n"; - print '</div>'; - - /** - * Boutons actions - */ - if ($user->societe_id == 0 && $commande->statut < 3 && ($_GET["action"] <> 'valid' || $_GET['action'] == 'builddoc')) + //if ($mesg) print $mesg.'<br>'; + + $commande = new CommandeFournisseur($db); + if ( $commande->fetch($_GET['id']) >= 0) { - print '<div class="tabsAction">'; - - if ($commande->statut == 0 && $num > 0) - { - if ($user->rights->fournisseur->commande->valider) + $soc = new Societe($db); + $soc->fetch($commande->socid); + + $author = new User($db); + $author->id = $commande->user_author_id; + $author->fetch(); + + $h = 0; + $head[$h][0] = DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$commande->id; + $head[$h][1] = $langs->trans("OrderCard"); + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/fourn/commande/dispatch.php?id='.$commande->id; + $head[$h][1] = $langs->trans("OrderDispatch"); + $a = $h; + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/fourn/commande/note.php?id='.$commande->id; + $head[$h][1] = $langs->trans("Note"); + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/fourn/commande/history.php?id='.$commande->id; + $head[$h][1] = $langs->trans("OrderFollow"); + $h++; + + $title=$langs->trans("SupplierOrder"); + dolibarr_fiche_head($head, $a, $title); + + /* + * Commande + */ + print '<table class="border" width="100%">'; + // Ref + print '<tr><td width="20%">'.$langs->trans("Ref").'</td>'; + print '<td colspan="5">'.$commande->ref.'</td>'; + print '</tr>'; + + // Fournisseur + print '<tr><td width="20%">'.$langs->trans("Supplier")."</td>"; + print '<td colspan="5">'; + print '<b><a href="'.DOL_URL_ROOT.'/fourn/fiche.php?socid='.$soc->id.'">'; + print img_object($langs->trans("ShowSupplier"),'company').' '.$soc->nom.'</a></b></td>'; + print '</tr>'; + + // Statut + print '<tr>'; + print '<td>'.$langs->trans("Status").'</td>'; + print '<td width="50%" colspan="5">'; + print $commande->getLibStatut(4); + print "</td></tr>"; + + if ($commande->methode_commande_id > 0) { - print '<a class="butAction" href="fiche.php?id='.$commande->id.'&action=valid">'.$langs->trans("Valid").'</a>'; + print '<tr><td>'.$langs->trans("Date").'</td><td colspan="2">'; + + if ($commande->date_commande) + { + print dolibarr_print_date($commande->date_commande,"dayhourtext")."\n"; + } + + print '</td><td width="50%" colspan="3">'; + if ($commande->methode_commande) + { + print $langs->trans("Method")." : " .$commande->methode_commande; + } + print "</td></tr>"; } - } - - if ($commande->statut == 1) - { - if ($user->rights->fournisseur->commande->approuver) + + // Auteur + print '<tr><td>'.$langs->trans("AuthorRequest").'</td>'; + print '<td colspan="2">'.$author->getNomUrl(1).'</td>'; + print '<td colspan="3" width="50%">'; + print " </td></tr>"; + print "</table>"; + + if ($mesg) print $mesg; + else print '<br>'; + + /* + * Lignes de commandes + */ + if ($commande->statut == 3 || $commande->statut == 4 || $commande->statut == 5) { - print '<a class="butAction" href="fiche.php?id='.$commande->id.'&action=approve">'.$langs->trans("ApproveOrder").'</a>'; - - print '<a class="butAction" href="fiche.php?id='.$commande->id.'&action=refuse">'.$langs->trans("RefuseOrder").'</a>'; + print '<form method="POST" action="dispatch.php?id='.$commande->id.'">'; + print '<input type="hidden" name="action" value="dispatch">'; + print '<table class="noborder" width="100%">'; + + $sql = "SELECT cfd.fk_product, sum(cfd.qty) as qty"; + $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; + $sql.= " WHERE cfd.fk_commande = ".$commande->id; + $sql.= " GROUP BY cfd.fk_product"; + + $resql = $db->query($sql); + if ($resql) + { + while ( $row = $db->fetch_row($resql) ) + { + $products_dispatched[$row[0]] = $row[1]; + } + $db->free($resql); + } + + $sql = "SELECT l.ref,l.fk_product,l.description, l.subprice, sum(l.qty) as qty"; + $sql.= ", l.rowid"; + $sql.= ", p.label"; + $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product=p.rowid"; + $sql.= " WHERE l.fk_commande = ".$commande->id; + $sql.= " GROUP BY l.fk_product"; + $sql.= " ORDER BY l.rowid"; + + $resql = $db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i = 0; + + if ($num) + { + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("Description").'</td>'; + + print '<td align="right">'.$langs->trans("QtyOrdered").'</td>'; + print '<td align="right">'.$langs->trans("QtyDispatched").'</td>'; + print '<td align="right">'.$langs->trans("Warehouse").'</td>'; + print '<td align="right">'.$langs->trans("QtyDelivered").'</td>'; + print "</tr>\n"; + } + + $entrepot = new Entrepot($db); + + $var=true; + while ($i < $num) + { + $objp = $db->fetch_object($resql); + // On n'affiche pas les produits personnalis�s + if ($objp->fk_product) + { + $var=!$var; + print "<tr ".$bc[$var].">"; + print '<td>'; + print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>'; + print ' - '.$objp->label; + if ($objp->description) print '<br>'.nl2br($objp->description); + print '<input name="product_'.$i.'" type="hidden" value="'.$objp->fk_product.'">'; + print '<input name="pu_'.$i.'" type="hidden" value="'.$objp->subprice.'">'; + print "</td>\n"; + + print '<td align="right">'.$objp->qty.'</td>'; + print '<td align="right">'.$products_dispatched[$objp->fk_product].'</td>'; + + print '<td align="right">'; + + if (sizeof($user->entrepots) === 1) + { + $uentrepot = array(); + $uentrepot[$user->entrepots[0]['id']] = $user->entrepots[0]['label']; + $html->select_array("entrepot_".$i, $uentrepot); + } + else + { + $html->select_array("entrepot_".$i, $entrepot->list_array()); + } + print "</td>\n"; + print '<td align="right"><input name="qty_'.$i.'" type="text" size="8" value="'.($objp->qty-$products_dispatched[$objp->fk_product]).'"></td>'; + print "</tr>\n"; + } + $i++; + } + $db->free($resql); + } + else + { + dolibarr_print_error($db); + } + + print "</table>\n"; + print "<br/>\n"; + print '<center><input type="submit" class="button" value="'.$langs->trans("Save").'"></center></form>'; } - - if ($user->rights->fournisseur->commande->annuler) + + print "<br/>\n"; + print '<table class="noborder" width="100%">'; + + + $sql = "SELECT p.ref,cfd.fk_product, cfd.qty"; + $sql.= ", cfd.rowid"; + $sql.= ", p.label, e.label as entrepot"; + $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; + $sql.= " , ".MAIN_DB_PREFIX."product as p "; + $sql.= " , ".MAIN_DB_PREFIX."entrepot as e "; + $sql.= " WHERE cfd.fk_commande = ".$commande->id; + $sql.= " AND cfd.fk_product = p.rowid"; + $sql.= " AND cfd.fk_entrepot = e.rowid"; + $sql.= " ORDER BY cfd.rowid ASC;"; + + $resql = $db->query($sql); + if ($resql) { - print '<a class="butActionDelete" href="fiche.php?id='.$commande->id.'&action=cancel">'.$langs->trans("CancelOrder").'</a>'; + $num = $db->num_rows($resql); + $i = 0; + + if ($num) + { + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("Description").'</td>'; + print '<td align="right">'.$langs->trans("QtyDispatched").'</td>'; + print '<td align="right">'.$langs->trans("Warehouse").'</td>'; + print "</tr>\n"; + } + $var=false; + + while ($i < $num) + { + $objp = $db->fetch_object($resql); + print "<tr $bc[$var]>"; + print '<td>'; + print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>'; + print ' - '.$objp->label; + print "</td>\n"; + + print '<td align="right">'.$objp->qty.'</td>'; + print '<td align="right">'.stripslashes($objp->entrepot).'</td>'; + print "</tr>\n"; + + $i++; + $var=!$var; + } + $db->free($resql); } - - } - - if ($commande->statut == 2) - { - if ($user->rights->fournisseur->commande->annuler) + else { - print '<a class="butActionDelete" href="fiche.php?id='.$commande->id.'&action=cancel">'.$langs->trans("CancelOrder").'</a>'; + dolibarr_print_error($db); } - } - - if ($commande->statut == 0) - { - if ($user->rights->fournisseur->commande->creer) + + print "</table>\n"; + print '</div>'; + + /** + * Boutons actions + */ + if ($user->societe_id == 0 && $commande->statut < 3 && ($_GET["action"] <> 'valid' || $_GET['action'] == 'builddoc')) { - print '<a class="butActionDelete" href="fiche.php?id='.$commande->id.'&action=delete">'.$langs->trans("Delete").'</a>'; + print '<div class="tabsAction">'; + + if ($commande->statut == 0 && $num > 0) + { + if ($user->rights->fournisseur->commande->valider) + { + print '<a class="butAction" href="fiche.php?id='.$commande->id.'&action=valid">'.$langs->trans("Valid").'</a>'; + } + } + + if ($commande->statut == 1) + { + if ($user->rights->fournisseur->commande->approuver) + { + print '<a class="butAction" href="fiche.php?id='.$commande->id.'&action=approve">'.$langs->trans("ApproveOrder").'</a>'; + + print '<a class="butAction" href="fiche.php?id='.$commande->id.'&action=refuse">'.$langs->trans("RefuseOrder").'</a>'; + } + + if ($user->rights->fournisseur->commande->annuler) + { + print '<a class="butActionDelete" href="fiche.php?id='.$commande->id.'&action=cancel">'.$langs->trans("CancelOrder").'</a>'; + } + + } + + if ($commande->statut == 2) + { + if ($user->rights->fournisseur->commande->annuler) + { + print '<a class="butActionDelete" href="fiche.php?id='.$commande->id.'&action=cancel">'.$langs->trans("CancelOrder").'</a>'; + } + } + + if ($commande->statut == 0) + { + if ($user->rights->fournisseur->commande->creer) + { + print '<a class="butActionDelete" href="fiche.php?id='.$commande->id.'&action=delete">'.$langs->trans("Delete").'</a>'; + } + } + print "</div>"; } - } - print "</div>"; + /* + * + * + */ + } + else + { + // Commande non trouv�e + dolibarr_print_error($db); } - /* - * - * - */ - } - else - { - // Commande non trouv�e - dolibarr_print_error($db); - } } $db->close(); diff --git a/htdocs/fourn/commande/fiche.php b/htdocs/fourn/commande/fiche.php index 15057b52ca0dd60462b30d1d6b5b8f39ef87083f..8002c21c1f00c95b9fe7148d2dd7d26aca8dcede 100644 --- a/htdocs/fourn/commande/fiche.php +++ b/htdocs/fourn/commande/fiche.php @@ -28,6 +28,7 @@ require('./pre.inc.php'); require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); +require_once(DOL_DOCUMENT_ROOT."/html.formorder.class.php"); require_once(DOL_DOCUMENT_ROOT.'/includes/modules/supplier_order/modules_commandefournisseur.php'); require_once DOL_DOCUMENT_ROOT."/fourn/fournisseur.product.class.php"; if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT.'/project.class.php'); @@ -464,6 +465,7 @@ llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur"); $html = new Form($db); $formfile = new FormFile($db); +$formorder = new FormOrder($db); /* *************************************************************************** */ /* */ @@ -1015,7 +1017,7 @@ if ($id > 0) print '</td></tr>'; print '<tr><td>'.$langs->trans("OrderMode").'</td><td>'; - $html->select_methodes_commande('',"methodecommande",1); + $formorder->select_methodes_commande('',"methodecommande",1); print '</td></tr>'; print '<tr><td>'.$langs->trans("Comment").'</td><td><input size="30" type="text" name="commentaire"></td></tr>'; diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php index 630a458f1ab55199d169a1aa94f7fd12787ec9ca..66393537303aebcba16ac2cd1a0df123236baeff 100644 --- a/htdocs/html.form.class.php +++ b/htdocs/html.form.class.php @@ -170,207 +170,6 @@ class Form } - /** - * \brief Retourne la liste d�roulante des d�partements/province/cantons tout pays confondu ou pour un pays donn�. - * \remarks Dans le cas d'une liste tout pays confondus, l'affichage fait une rupture sur le pays. - * \remarks La cle de la liste est le code (il peut y avoir plusieurs entr�e pour - * un code donn�e mais dans ce cas, le champ pays diff�re). - * Ainsi les liens avec les d�partements se font sur un d�partement ind�pendemment de son nom. - * \param selected code forme juridique a pr�s�lectionn� - * \param pays_code 0=liste tous pays confondus, sinon code du pays � afficher - */ - function select_departement($selected='',$pays_code=0) - { - global $conf,$langs,$user; - - dolibarr_syslog("Form::select_departement selected=$selected, pays_code=$pays_code",LOG_DEBUG); - - $langs->load("dict"); - - $htmlname='departement_id'; - - // On recherche les d�partements/cantons/province active d'une region et pays actif - $sql = "SELECT d.rowid, d.code_departement as code , d.nom, d.active, p.libelle as libelle_pays, p.code as code_pays FROM"; - $sql .= " ".MAIN_DB_PREFIX ."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r,".MAIN_DB_PREFIX."c_pays as p"; - $sql .= " WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid"; - $sql .= " AND d.active = 1 AND r.active = 1 AND p.active = 1"; - if ($pays_code) $sql .= " AND p.code = '".$pays_code."'"; - $sql .= " ORDER BY p.code, d.code_departement"; - - dolibarr_syslog("Form::select_departement sql=".$sql); - $result=$this->db->query($sql); - if ($result) - { - print '<select class="flat" name="'.$htmlname.'">'; - if ($pays_code) print '<option value="0"> </option>'; - $num = $this->db->num_rows($result); - $i = 0; - dolibarr_syslog("Form::select_departement num=$num",LOG_DEBUG); - if ($num) - { - $pays=''; - while ($i < $num) - { - $obj = $this->db->fetch_object($result); - if ($obj->code == '0') // Le code peut etre une chaine - { - print '<option value="0"> </option>'; - } - else { - if (! $pays || $pays != $obj->libelle_pays) - { - // Affiche la rupture si on est en mode liste multipays - if (! $pays_code && $obj->code_pays) - { - print '<option value="-1">----- '.$obj->libelle_pays." -----</option>\n"; - $pays=$obj->libelle_pays; - } - } - - if ($selected > 0 && $selected == $obj->rowid) - { - print '<option value="'.$obj->rowid.'" selected="true">'; - } - else - { - print '<option value="'.$obj->rowid.'">'; - } - // Si traduction existe, on l'utilise, sinon on prend le libell� par d�faut - print $obj->code . ' - ' . ($langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):($obj->nom!='-'?$obj->nom:'')); - print '</option>'; - } - $i++; - } - } - print '</select>'; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - else { - dolibarr_print_error($this->db); - } - } - - - /** - * \brief Retourne la liste d�roulante des regions actives dont le pays est actif - * \remarks La cle de la liste est le code (il peut y avoir plusieurs entr�e pour - * un code donn�e mais dans ce cas, le champ pays et lang diff�re). - * Ainsi les liens avec les regions se font sur une region independemment - * de son nom. - */ - - function select_region($selected='',$htmlname='region_id') - { - global $conf,$langs; - $langs->load("dict"); - - $sql = "SELECT r.rowid, r.code_region as code, r.nom as libelle, r.active, p.libelle as libelle_pays FROM ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_pays as p"; - $sql .= " WHERE r.fk_pays=p.rowid AND r.active = 1 and p.active = 1 ORDER BY libelle_pays, libelle ASC"; - - dolibarr_syslog("Form::select_region sql=".$sql); - if ($this->db->query($sql)) - { - print '<select class="flat" name="'.$htmlname.'">'; - $num = $this->db->num_rows(); - $i = 0; - if ($num) - { - $pays=''; - while ($i < $num) - { - $obj = $this->db->fetch_object(); - if ($obj->code == 0) { - print '<option value="0"> </option>'; - } - else { - if ($pays == '' || $pays != $obj->libelle_pays) - { - // Affiche la rupture - print '<option value="-1" disabled="disabled">----- '.$obj->libelle_pays." -----</option>\n"; - $pays=$obj->libelle_pays; - } - - if ($selected > 0 && $selected == $obj->code) - { - print '<option value="'.$obj->code.'" selected="true">'.$obj->libelle.'</option>'; - } - else - { - print '<option value="'.$obj->code.'">'.$obj->libelle.'</option>'; - } - } - $i++; - } - } - print '</select>'; - } - else { - dolibarr_print_error($this->db); - } - } - - - /** - * \brief Renvoie la liste des sources de commandes - * \param selected Id de la source pr�-s�lectionn�e - * \param htmlname Nom de la liste deroulante - * \param addempty 0=liste sans valeur nulle, 1=ajoute valeur inconnue - * \return array Tableau des sources de commandes - */ - function selectSourcesCommande($selected='',$htmlname='source_id',$addempty=0) - { - global $conf,$langs; - print '<select class="flat" name="'.$htmlname.'" '.$htmloption.'>'; - if ($addempty) print '<option value="-1" selected="true"> </option>'; - - // \TODO Aller cherches les sources dans dictionnaire - print '<option value="0"'.($selected=='0'?' selected="true"':'').'>'.$langs->trans('OrderSource0').'</option>'; - print '<option value="1"'.($selected=='1'?' selected="true"':'').'>'.$langs->trans('OrderSource1').'</option>'; - print '<option value="2"'.($selected=='2'?' selected="true"':'').'>'.$langs->trans('OrderSource2').'</option>'; - print '<option value="3"'.($selected=='3'?' selected="true"':'').'>'.$langs->trans('OrderSource3').'</option>'; - print '<option value="4"'.($selected=='4'?' selected="true"':'').'>'.$langs->trans('OrderSource4').'</option>'; - print '<option value="5"'.($selected=='5'?' selected="true"':'').'>'.$langs->trans('OrderSource5').'</option>'; - print '<option value="6"'.($selected=='6'?' selected="true"':'').'>'.$langs->trans('OrderSource6').'</option>'; - - print '</select>'; - } - - - /** - * - * - */ - function select_methodes_commande($selected='',$htmlname='source_id',$addempty=0) - { - global $conf,$langs; - $listemethodes=array(); - - $sql = "SELECT rowid, libelle "; - $sql.= " FROM ".MAIN_DB_PREFIX."c_methode_commande_fournisseur"; - $sql.= " WHERE active = 1"; - - dolibarr_syslog("Form::select_methodes_commande sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - $i = 0; - $num = $this->db->num_rows($resql); - while ($i < $num) - { - $obj = $this->db->fetch_object($resql); - $listemethodes[$obj->rowid] = $obj->libelle; - $i++; - } - } - else - { - dolibarr_print_error($this->db); - return -1; - } - - print $this->select_array($htmlname,$listemethodes,$selected,$addempty); - return 1; - } /** * \brief Retourne la liste d�roulante des pays actifs, dans la langue de l'utilisateur @@ -515,27 +314,6 @@ class Form } - /** - * \brief Retourne la liste des types de comptes financiers - * \param selected Type pr�-s�lectionn� - * \param htmlname Nom champ formulaire - */ - function select_type_actions($selected='',$htmlname='actioncode') - { - global $langs,$user; - - require_once(DOL_DOCUMENT_ROOT."/cactioncomm.class.php"); - $caction=new CActionComm($this->db); - - $arraylist=$caction->liste_array(1,'code'); - $arraylist[0]=' '; - asort($arraylist); - - $this->select_array($htmlname, $arraylist, $selected); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - - /** * \brief Return list of social contributions * \param selected Preselected type @@ -1361,110 +1139,6 @@ class Form } - /** - * \brief Renvoie la liste des types d'effectifs possibles (pas de traduction car nombre) - * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle - * \return array tableau des types d'effectifs - */ - function effectif_array($mode=0) - { - $effs = array(); - - $sql = "SELECT id, code, libelle"; - $sql .= " FROM ".MAIN_DB_PREFIX."c_effectif"; - $sql.= " WHERE active = 1"; - $sql .= " ORDER BY id ASC"; - dolibarr_syslog('Form::effectif_array sql='.$sql,LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - - while ($i < $num) - { - $objp = $this->db->fetch_object($resql); - if (! $mode) $key=$objp->id; - else $key=$objp->code; - - $effs[$key] = $objp->libelle!='-'?$objp->libelle:''; - $i++; - } - $this->db->free($resql); - } - return $effs; - } - - /** - * \brief Renvoie la liste des formes juridiques existantes (pas de traduction car unique au pays) - * \return array tableau des formes juridiques - */ - function forme_juridique_array() - { - $fj = array(); - - $sql = "SELECT code, libelle"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_forme_juridique"; - $sql.= " WHERE active = 1"; - $sql.= " ORDER BY code ASC"; - dolibarr_syslog('Form::forme_juridique_array sql='.$sql,LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - - while ($i < $num) - { - $objp = $this->db->fetch_object($resql); - $fj[$objp->code] = $objp->libelle!='-'?$objp->libelle:''; - $i++; - } - $this->db->free($resql); - } - return $fj; - } - - /** - * \brief Renvoie la liste des libelles traduits des types actifs de societes - * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle - * \return array tableau des types - */ - function typent_array($mode=0) - { - global $langs; - - $effs = array(); - - $sql = "SELECT id, code, libelle"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_typent"; - $sql.= " WHERE active = 1"; - $sql.= " ORDER by id"; - dolibarr_syslog('Form::typent_array sql='.$sql,LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - - while ($i < $num) - { - $objp = $this->db->fetch_object($resql); - if (! $mode) $key=$objp->id; - else $key=$objp->code; - - if ($langs->trans($objp->code) != $objp->code) - $effs[$key] = $langs->trans($objp->code); - else - $effs[$key] = $objp->libelle!='-'?$objp->libelle:''; - $i++; - } - $this->db->free($resql); - } - - return $effs; - } - /** * \brief Charge dans cache la liste des conditions de paiements possibles * \return int Nb lignes charg�es, 0 si d�j� charg�es, <0 si ko @@ -1791,128 +1465,6 @@ class Form } - - /** - * \brief Retourne la liste d�roulante des civilite actives - * \param selected civilite pr�-s�lectionn�e - */ - function select_civilite($selected='') - { - global $conf,$langs,$user; - $langs->load("dict"); - - $sql = "SELECT rowid, code, civilite, active FROM ".MAIN_DB_PREFIX."c_civilite"; - $sql .= " WHERE active = 1"; - - dolibarr_syslog("Form::select_civilite sql=".$sql); - if ($this->db->query($sql)) - { - print '<select class="flat" name="civilite_id">'; - print '<option value=""> </option>'; - $num = $this->db->num_rows(); - $i = 0; - if ($num) - { - while ($i < $num) - { - $obj = $this->db->fetch_object(); - if ($selected == $obj->code) - { - print '<option value="'.$obj->code.'" selected="true">'; - } - else - { - print '<option value="'.$obj->code.'">'; - } - // Si traduction existe, on l'utilise, sinon on prend le libell� par d�faut - print ($langs->trans("Civility".$obj->code)!="Civility".$obj->code ? $langs->trans("Civility".$obj->code) : ($obj->civilite!='-'?$obj->civilite:'')); - print '</option>'; - $i++; - } - } - print '</select>'; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - else - { - dolibarr_print_error($this->db); - } - } - - - /** - * \brief Retourne la liste d�roulante des formes juridiques tous pays confondus ou pour un pays donn�. - * \remarks Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays - * \param selected Code forme juridique a pr�-s�lectionn� - * \param pays_code 0=liste tous pays confondus, sinon code du pays � afficher - */ - function select_forme_juridique($selected='',$pays_code=0) - { - global $conf,$langs,$user; - $langs->load("dict"); - - // On recherche les formes juridiques actives des pays actifs - $sql = "SELECT f.rowid, f.code as code , f.libelle as nom, f.active, p.libelle as libelle_pays, p.code as code_pays"; - $sql .= " FROM llx_c_forme_juridique as f, llx_c_pays as p"; - $sql .= " WHERE f.fk_pays=p.rowid"; - $sql .= " AND f.active = 1 AND p.active = 1"; - if ($pays_code) $sql .= " AND p.code = '".$pays_code."'"; - $sql .= " ORDER BY p.code, f.code"; - - dolibarr_syslog("Form::select_forme_juridique sql=".$sql); - $result=$this->db->query($sql); - if ($result) - { - print '<div id="particulier2" class="visible">'; - print '<select class="flat" name="forme_juridique_code">'; - if ($pays_code) print '<option value="0"> </option>'; - $num = $this->db->num_rows($result); - $i = 0; - if ($num) - { - $pays=''; - while ($i < $num) - { - $obj = $this->db->fetch_object($result); - if ($obj->code == 0) { - print '<option value="0"> </option>'; - } - else { - if (! $pays || $pays != $obj->libelle_pays) { - // Affiche la rupture si on est en mode liste multipays - if (! $pays_code && $obj->code_pays) { - print '<option value="0">----- '.$obj->libelle_pays." -----</option>\n"; - $pays=$obj->libelle_pays; - } - } - - if ($selected > 0 && $selected == $obj->code) - { - print '<option value="'.$obj->code.'" selected="true">'; - } - else - { - print '<option value="'.$obj->code.'">'; - } - // Si traduction existe, on l'utilise, sinon on prend le libell� par d�faut - print $obj->code . ' - '; - print ($langs->trans("JuridicalStatus".$obj->code)!="JuridicalStatus".$obj->code?$langs->trans("JuridicalStatus".$obj->code):($obj->nom!='-'?$langs->convToOutputCharset($obj->nom):'')); - print '</option>'; - } - $i++; - } - } - print '</select>'; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print '</div>'; - } - else - { - dolibarr_print_error($this->db); - } - } - - /** * \brief Affiche formulaire de demande de confirmation * \param page page @@ -2082,38 +1634,6 @@ class Form } } - /** - * \brief Affiche formulaire de selection de l'assuj�tissement � la TVA - * \param page Page - * \param selected Id condition pr�-s�lectionn�e - * \param htmlname Nom du formulaire select - */ - function form_assujetti_tva($page, $selected='', $htmlname='') - { - global $langs; - $options = array(0=>"non",1=>"oui"); - if ($htmlname != "none") - { - print '<form method="post" action="'.$page.'">'; - print '<input type="hidden" name="action" value="setassujtva">'; - print '<table class="noborder" cellpadding="0" cellspacing="0">'; - print '<tr><td>'; - $this->select_assujetti_tva($selected,$htmlname); - print '</td>'; - print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>'; - print '</tr></table></form>'; - } - else - { - if ($selected != "") - { - print $options[$selected]; - } else { - print " "; - } - } - } - /** * \brief Affiche formulaire de selection des modes de reglement @@ -2148,58 +1668,6 @@ class Form } - /** - * \brief Affiche formulaire de selection des modes de reglement - * \param page Page - * \param selected Id or code preselected - * \param htmlname Nom du formulaire select - * \param empty Add empty value in list - */ - function form_prospect_level($page, $selected='', $htmlname='prospect_level_id', $empty=0) - { - global $langs; - - print '<form method="post" action="'.$page.'">'; - print '<input type="hidden" name="action" value="setprospectlevel">'; - print '<table class="noborder" cellpadding="0" cellspacing="0">'; - print '<tr><td>'; - - print '<select class="flat" name="'.$htmlname.'">'; - if ($empty) print '<option value=""> </option>'; - - dolibarr_syslog('Form::form_prospect_level',LOG_DEBUG); - $sql = "SELECT code, label"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_prospectlevel"; - $sql.= " WHERE active > 0"; - $sql.= " ORDER BY sortorder"; - $resql = $this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - while ($i < $num) - { - $obj = $this->db->fetch_object($resql); - - print '<option value="'.$obj->code.'"'; - if ($selected == $obj->code) print ' selected="true"'; - print '>'; - $level=$langs->trans($obj->code); - if ($level == $obj->code) $level=$langs->trans($obj->label); - print $level; - print '</option>'; - - $i++; - } - } - else dolibarr_print_error($this->db); - print '</select>'; - - print '</td>'; - print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>'; - print '</tr></table></form>'; - } - /** * \brief Affiche formulaire de selection de la remise fixe * \param page Page URL where form is shown diff --git a/htdocs/html.formactions.class.php b/htdocs/html.formactions.class.php index 09c7de801dfc5044e64666539b2eabfa7a109595..16457a369dd82c3f068e5662052580e98b0fe1f3 100644 --- a/htdocs/html.formactions.class.php +++ b/htdocs/html.formactions.class.php @@ -148,4 +148,27 @@ class FormActions } } + + /** + * \brief Retourne la liste des types de comptes financiers + * \param selected Type pr�-s�lectionn� + * \param htmlname Nom champ formulaire + */ + function select_type_actions($selected='',$htmlname='actioncode') + { + global $langs,$user; + + require_once(DOL_DOCUMENT_ROOT."/cactioncomm.class.php"); + require_once(DOL_DOCUMENT_ROOT."/html.form.class.php"); + $caction=new CActionComm($this->db); + $form=new Form($this->db); + + $arraylist=$caction->liste_array(1,'code'); + $arraylist[0]=' '; + asort($arraylist); + + $form->select_array($htmlname, $arraylist, $selected); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + } + } diff --git a/htdocs/html.formcompany.class.php b/htdocs/html.formcompany.class.php new file mode 100644 index 0000000000000000000000000000000000000000..94600a9c226eda8b8da22695f67ee0e4f337a251 --- /dev/null +++ b/htdocs/html.formcompany.class.php @@ -0,0 +1,441 @@ +<?php +/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * \file htdocs/html.formcompany.class.php + * \brief Fichier de la classe des fonctions pr�d�finie de composants html + * \version $Id$ + */ + + +/** + * \class FormCompany + * \brief Classe permettant la g�n�ration de composants html + * \remarks Only common components must be here. + */ +class FormCompany +{ + var $db; + var $error; + + + + /** + * \brief Constructeur + * \param DB handler d'acc�s base de donn�e + */ + function FormCompany($DB) + { + $this->db = $DB; + + return 1; + } + + + /** + * \brief Renvoie la liste des libelles traduits des types actifs de societes + * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle + * \return array tableau des types + */ + function typent_array($mode=0) + { + global $langs; + + $effs = array(); + + $sql = "SELECT id, code, libelle"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_typent"; + $sql.= " WHERE active = 1"; + $sql.= " ORDER by id"; + dolibarr_syslog('Form::typent_array sql='.$sql,LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $num = $this->db->num_rows($resql); + $i = 0; + + while ($i < $num) + { + $objp = $this->db->fetch_object($resql); + if (! $mode) $key=$objp->id; + else $key=$objp->code; + + if ($langs->trans($objp->code) != $objp->code) + $effs[$key] = $langs->trans($objp->code); + else + $effs[$key] = $objp->libelle!='-'?$objp->libelle:''; + $i++; + } + $this->db->free($resql); + } + + return $effs; + } + + /** + * \brief Renvoie la liste des types d'effectifs possibles (pas de traduction car nombre) + * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle + * \return array tableau des types d'effectifs + */ + function effectif_array($mode=0) + { + $effs = array(); + + $sql = "SELECT id, code, libelle"; + $sql .= " FROM ".MAIN_DB_PREFIX."c_effectif"; + $sql.= " WHERE active = 1"; + $sql .= " ORDER BY id ASC"; + dolibarr_syslog('Form::effectif_array sql='.$sql,LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $num = $this->db->num_rows($resql); + $i = 0; + + while ($i < $num) + { + $objp = $this->db->fetch_object($resql); + if (! $mode) $key=$objp->id; + else $key=$objp->code; + + $effs[$key] = $objp->libelle!='-'?$objp->libelle:''; + $i++; + } + $this->db->free($resql); + } + return $effs; + } + + + /** + * \brief Affiche formulaire de selection des modes de reglement + * \param page Page + * \param selected Id or code preselected + * \param htmlname Nom du formulaire select + * \param empty Add empty value in list + */ + function form_prospect_level($page, $selected='', $htmlname='prospect_level_id', $empty=0) + { + global $langs; + + print '<form method="post" action="'.$page.'">'; + print '<input type="hidden" name="action" value="setprospectlevel">'; + print '<table class="noborder" cellpadding="0" cellspacing="0">'; + print '<tr><td>'; + + print '<select class="flat" name="'.$htmlname.'">'; + if ($empty) print '<option value=""> </option>'; + + dolibarr_syslog('Form::form_prospect_level',LOG_DEBUG); + $sql = "SELECT code, label"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_prospectlevel"; + $sql.= " WHERE active > 0"; + $sql.= " ORDER BY sortorder"; + $resql = $this->db->query($sql); + if ($resql) + { + $num = $this->db->num_rows($resql); + $i = 0; + while ($i < $num) + { + $obj = $this->db->fetch_object($resql); + + print '<option value="'.$obj->code.'"'; + if ($selected == $obj->code) print ' selected="true"'; + print '>'; + $level=$langs->trans($obj->code); + if ($level == $obj->code) $level=$langs->trans($obj->label); + print $level; + print '</option>'; + + $i++; + } + } + else dolibarr_print_error($this->db); + print '</select>'; + + print '</td>'; + print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>'; + print '</tr></table></form>'; + } + + + /** + * \brief Retourne la liste d�roulante des d�partements/province/cantons tout pays confondu ou pour un pays donn�. + * \remarks Dans le cas d'une liste tout pays confondus, l'affichage fait une rupture sur le pays. + * \remarks La cle de la liste est le code (il peut y avoir plusieurs entr�e pour + * un code donn�e mais dans ce cas, le champ pays diff�re). + * Ainsi les liens avec les d�partements se font sur un d�partement ind�pendemment de son nom. + * \param selected code forme juridique a pr�s�lectionn� + * \param pays_code 0=liste tous pays confondus, sinon code du pays � afficher + */ + function select_departement($selected='',$pays_code=0) + { + global $conf,$langs,$user; + + dolibarr_syslog("Form::select_departement selected=$selected, pays_code=$pays_code",LOG_DEBUG); + + $langs->load("dict"); + + $htmlname='departement_id'; + + // On recherche les d�partements/cantons/province active d'une region et pays actif + $sql = "SELECT d.rowid, d.code_departement as code , d.nom, d.active, p.libelle as libelle_pays, p.code as code_pays FROM"; + $sql .= " ".MAIN_DB_PREFIX ."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r,".MAIN_DB_PREFIX."c_pays as p"; + $sql .= " WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid"; + $sql .= " AND d.active = 1 AND r.active = 1 AND p.active = 1"; + if ($pays_code) $sql .= " AND p.code = '".$pays_code."'"; + $sql .= " ORDER BY p.code, d.code_departement"; + + dolibarr_syslog("Form::select_departement sql=".$sql); + $result=$this->db->query($sql); + if ($result) + { + print '<select class="flat" name="'.$htmlname.'">'; + if ($pays_code) print '<option value="0"> </option>'; + $num = $this->db->num_rows($result); + $i = 0; + dolibarr_syslog("Form::select_departement num=$num",LOG_DEBUG); + if ($num) + { + $pays=''; + while ($i < $num) + { + $obj = $this->db->fetch_object($result); + if ($obj->code == '0') // Le code peut etre une chaine + { + print '<option value="0"> </option>'; + } + else { + if (! $pays || $pays != $obj->libelle_pays) + { + // Affiche la rupture si on est en mode liste multipays + if (! $pays_code && $obj->code_pays) + { + print '<option value="-1">----- '.$obj->libelle_pays." -----</option>\n"; + $pays=$obj->libelle_pays; + } + } + + if ($selected > 0 && $selected == $obj->rowid) + { + print '<option value="'.$obj->rowid.'" selected="true">'; + } + else + { + print '<option value="'.$obj->rowid.'">'; + } + // Si traduction existe, on l'utilise, sinon on prend le libell� par d�faut + print $obj->code . ' - ' . ($langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):($obj->nom!='-'?$obj->nom:'')); + print '</option>'; + } + $i++; + } + } + print '</select>'; + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + } + else + { + dolibarr_print_error($this->db); + } + } + + + /** + * \brief Retourne la liste d�roulante des regions actives dont le pays est actif + * \remarks La cle de la liste est le code (il peut y avoir plusieurs entr�e pour + * un code donn�e mais dans ce cas, le champ pays et lang diff�re). + * Ainsi les liens avec les regions se font sur une region independemment + * de son nom. + */ + function select_region($selected='',$htmlname='region_id') + { + global $conf,$langs; + $langs->load("dict"); + + $sql = "SELECT r.rowid, r.code_region as code, r.nom as libelle, r.active, p.libelle as libelle_pays FROM ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_pays as p"; + $sql .= " WHERE r.fk_pays=p.rowid AND r.active = 1 and p.active = 1 ORDER BY libelle_pays, libelle ASC"; + + dolibarr_syslog("Form::select_region sql=".$sql); + if ($this->db->query($sql)) + { + print '<select class="flat" name="'.$htmlname.'">'; + $num = $this->db->num_rows(); + $i = 0; + if ($num) + { + $pays=''; + while ($i < $num) + { + $obj = $this->db->fetch_object(); + if ($obj->code == 0) { + print '<option value="0"> </option>'; + } + else { + if ($pays == '' || $pays != $obj->libelle_pays) + { + // Affiche la rupture + print '<option value="-1" disabled="disabled">----- '.$obj->libelle_pays." -----</option>\n"; + $pays=$obj->libelle_pays; + } + + if ($selected > 0 && $selected == $obj->code) + { + print '<option value="'.$obj->code.'" selected="true">'.$obj->libelle.'</option>'; + } + else + { + print '<option value="'.$obj->code.'">'.$obj->libelle.'</option>'; + } + } + $i++; + } + } + print '</select>'; + } + else + { + dolibarr_print_error($this->db); + } + } + + + /** + * \brief Retourne la liste d�roulante des civilite actives + * \param selected civilite pr�-s�lectionn�e + */ + function select_civilite($selected='') + { + global $conf,$langs,$user; + $langs->load("dict"); + + $sql = "SELECT rowid, code, civilite, active FROM ".MAIN_DB_PREFIX."c_civilite"; + $sql .= " WHERE active = 1"; + + dolibarr_syslog("Form::select_civilite sql=".$sql); + if ($this->db->query($sql)) + { + print '<select class="flat" name="civilite_id">'; + print '<option value=""> </option>'; + $num = $this->db->num_rows(); + $i = 0; + if ($num) + { + while ($i < $num) + { + $obj = $this->db->fetch_object(); + if ($selected == $obj->code) + { + print '<option value="'.$obj->code.'" selected="true">'; + } + else + { + print '<option value="'.$obj->code.'">'; + } + // Si traduction existe, on l'utilise, sinon on prend le libell� par d�faut + print ($langs->trans("Civility".$obj->code)!="Civility".$obj->code ? $langs->trans("Civility".$obj->code) : ($obj->civilite!='-'?$obj->civilite:'')); + print '</option>'; + $i++; + } + } + print '</select>'; + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + } + else + { + dolibarr_print_error($this->db); + } + } + + + /** + * \brief Retourne la liste d�roulante des formes juridiques tous pays confondus ou pour un pays donn�. + * \remarks Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays + * \param selected Code forme juridique a pr�-s�lectionn� + * \param pays_code 0=liste tous pays confondus, sinon code du pays � afficher + */ + function select_forme_juridique($selected='',$pays_code=0) + { + global $conf,$langs,$user; + $langs->load("dict"); + + // On recherche les formes juridiques actives des pays actifs + $sql = "SELECT f.rowid, f.code as code , f.libelle as nom, f.active, p.libelle as libelle_pays, p.code as code_pays"; + $sql .= " FROM llx_c_forme_juridique as f, llx_c_pays as p"; + $sql .= " WHERE f.fk_pays=p.rowid"; + $sql .= " AND f.active = 1 AND p.active = 1"; + if ($pays_code) $sql .= " AND p.code = '".$pays_code."'"; + $sql .= " ORDER BY p.code, f.code"; + + dolibarr_syslog("Form::select_forme_juridique sql=".$sql); + $result=$this->db->query($sql); + if ($result) + { + print '<div id="particulier2" class="visible">'; + print '<select class="flat" name="forme_juridique_code">'; + if ($pays_code) print '<option value="0"> </option>'; + $num = $this->db->num_rows($result); + $i = 0; + if ($num) + { + $pays=''; + while ($i < $num) + { + $obj = $this->db->fetch_object($result); + if ($obj->code == 0) { + print '<option value="0"> </option>'; + } + else { + if (! $pays || $pays != $obj->libelle_pays) { + // Affiche la rupture si on est en mode liste multipays + if (! $pays_code && $obj->code_pays) { + print '<option value="0">----- '.$obj->libelle_pays." -----</option>\n"; + $pays=$obj->libelle_pays; + } + } + + if ($selected > 0 && $selected == $obj->code) + { + print '<option value="'.$obj->code.'" selected="true">'; + } + else + { + print '<option value="'.$obj->code.'">'; + } + // Si traduction existe, on l'utilise, sinon on prend le libell� par d�faut + print $obj->code . ' - '; + print ($langs->trans("JuridicalStatus".$obj->code)!="JuridicalStatus".$obj->code?$langs->trans("JuridicalStatus".$obj->code):($obj->nom!='-'?$langs->convToOutputCharset($obj->nom):'')); + print '</option>'; + } + $i++; + } + } + print '</select>'; + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + print '</div>'; + } + else + { + dolibarr_print_error($this->db); + } + } + +} + +?> diff --git a/htdocs/html.formorder.class.php b/htdocs/html.formorder.class.php new file mode 100644 index 0000000000000000000000000000000000000000..c8ce07f0a0f0e293cd04611d76ea4a4b15614653 --- /dev/null +++ b/htdocs/html.formorder.class.php @@ -0,0 +1,114 @@ +<?php +/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * \file htdocs/html.formorder.class.php + * \brief Fichier de la classe des fonctions pr�d�finie de composants html + * \version $Id$ + */ + + +/** + * \class FormOrder + * \brief Classe permettant la g�n�ration de composants html + * \remarks Only common components must be here. + */ +class FormOrder +{ + var $db; + var $error; + + + + /** + * \brief Constructeur + * \param DB handler d'acc�s base de donn�e + */ + function FormOrder($DB) + { + $this->db = $DB; + + return 1; + } + + + /** + * \brief Renvoie la liste des sources de commandes + * \param selected Id de la source pr�-s�lectionn�e + * \param htmlname Nom de la liste deroulante + * \param addempty 0=liste sans valeur nulle, 1=ajoute valeur inconnue + * \return array Tableau des sources de commandes + */ + function selectSourcesCommande($selected='',$htmlname='source_id',$addempty=0) + { + global $conf,$langs; + print '<select class="flat" name="'.$htmlname.'" '.$htmloption.'>'; + if ($addempty) print '<option value="-1" selected="true"> </option>'; + + // \TODO Aller chercher les sources dans dictionnaire + print '<option value="0"'.($selected=='0'?' selected="true"':'').'>'.$langs->trans('OrderSource0').'</option>'; + print '<option value="1"'.($selected=='1'?' selected="true"':'').'>'.$langs->trans('OrderSource1').'</option>'; + print '<option value="2"'.($selected=='2'?' selected="true"':'').'>'.$langs->trans('OrderSource2').'</option>'; + print '<option value="3"'.($selected=='3'?' selected="true"':'').'>'.$langs->trans('OrderSource3').'</option>'; + print '<option value="4"'.($selected=='4'?' selected="true"':'').'>'.$langs->trans('OrderSource4').'</option>'; + print '<option value="5"'.($selected=='5'?' selected="true"':'').'>'.$langs->trans('OrderSource5').'</option>'; + print '<option value="6"'.($selected=='6'?' selected="true"':'').'>'.$langs->trans('OrderSource6').'</option>'; + + print '</select>'; + } + + + /** + * + * + */ + function select_methodes_commande($selected='',$htmlname='source_id',$addempty=0) + { + global $conf,$langs; + $listemethodes=array(); + + $sql = "SELECT rowid, libelle "; + $sql.= " FROM ".MAIN_DB_PREFIX."c_methode_commande_fournisseur"; + $sql.= " WHERE active = 1"; + + dolibarr_syslog("Form::select_methodes_commande sql=".$sql); + $resql=$this->db->query($sql); + if ($resql) + { + $i = 0; + $num = $this->db->num_rows($resql); + while ($i < $num) + { + $obj = $this->db->fetch_object($resql); + $listemethodes[$obj->rowid] = $obj->libelle; + $i++; + } + } + else + { + dolibarr_print_error($this->db); + return -1; + } + + print $this->select_array($htmlname,$listemethodes,$selected,$addempty); + return 1; + } + +} + +?> diff --git a/htdocs/soc.php b/htdocs/soc.php index 7b4024f3632a1750fce5bf1e9386db5a8ed7fce3..5a53fd81d6c2fced251ee353352c24424487f37f 100644 --- a/htdocs/soc.php +++ b/htdocs/soc.php @@ -30,6 +30,7 @@ require("pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); +require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); $langs->load("companies"); @@ -266,6 +267,8 @@ if ($_REQUEST["action"] == 'confirm_delete' && $_REQUEST["confirm"] == 'yes' && llxHeader(); $form = new Form($db); +$formcompany = new FormCompany($db); + $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; @@ -390,7 +393,7 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create') print '<td colspan=2> </td></tr>'; print '<tr><td>'.$langs->trans("UserTitle").'</td><td>'; - print $form->select_civilite($contact->civilite_id).'</td>'; + print $formcompany->select_civilite($contact->civilite_id).'</td>'; print '<td colspan=2> </td></tr>'; } @@ -483,7 +486,7 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create') print '<tr><td>'.$langs->trans('State').'</td><td colspan="3">'; if ($soc->pays_id) { - $form->select_departement($soc->departement_id,$soc->pays_code); + $formcompany->select_departement($soc->departement_id,$soc->pays_code); } else { @@ -546,7 +549,7 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create') print '<td colspan="3">'; if ($soc->pays_id) { - $form->select_forme_juridique($soc->forme_juridique_code,$soc->pays_code); + $formcompany->select_forme_juridique($soc->forme_juridique_code,$soc->pays_code); } else { @@ -555,11 +558,11 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create') print '</td></tr>'; print '<tr><td>'.$langs->trans("Type").'</td><td>'."\n"; - $form->select_array("typent_id",$form->typent_array(0), $soc->typent_id); + $form->select_array("typent_id",$formcompany->typent_array(0), $soc->typent_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '</td>'; print '<td>'.$langs->trans("Staff").'</td><td>'; - $form->select_array("effectif_id",$form->effectif_array(0), $soc->effectif_id); + $form->select_array("effectif_id",$formcompany->effectif_array(0), $soc->effectif_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '</td></tr>'; @@ -834,7 +837,7 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit') print '</td></tr>'; print '<tr><td>'.$langs->trans('State').'</td><td colspan="3">'; - $form->select_departement($soc->departement_id,$soc->pays_code); + $formcompany->select_departement($soc->departement_id,$soc->pays_code); print '</td></tr>'; print '<tr><td>'.$langs->trans('Phone').'</td><td><input type="text" name="tel" value="'.$soc->tel.'"></td>'; @@ -920,15 +923,15 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit') print '<tr><td>'.$langs->trans("Capital").'</td><td colspan="3"><input type="text" name="capital" size="10" value="'.$soc->capital.'"> '.$langs->trans("Currency".$conf->monnaie).'</td></tr>'; print '<tr><td>'.$langs->trans('JuridicalStatus').'</td><td colspan="3">'; - $form->select_forme_juridique($soc->forme_juridique_code,$soc->pays_code); + $formcompany->select_forme_juridique($soc->forme_juridique_code,$soc->pays_code); print '</td></tr>'; print '<tr><td>'.$langs->trans("Type").'</td><td>'; - $form->select_array("typent_id",$form->typent_array(0), $soc->typent_id); + $form->select_array("typent_id",$formcompany->typent_array(0), $soc->typent_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '</td>'; print '<td>'.$langs->trans("Staff").'</td><td>'; - $form->select_array("effectif_id",$form->effectif_array(0), $soc->effectif_id); + $form->select_array("effectif_id",$formcompany->effectif_array(0), $soc->effectif_id); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '</td></tr>'; @@ -1147,7 +1150,7 @@ else print '<tr><td>'.$langs->trans('JuridicalStatus').'</td><td colspan="3">'.$soc->forme_juridique.'</td></tr>'; // Type + Staff - $arr = $form->typent_array(1); + $arr = $formcompany->typent_array(1); $soc->typent= $arr[$soc->typent_code]; print '<tr><td>'.$langs->trans("Type").'</td><td>'.$soc->typent.'</td><td>'.$langs->trans("Staff").'</td><td>'.$soc->effectif.'</td></tr>';