forked from Wavyzz/dolibarr
ajoute la possibilité de visualiser la description des produits dans la langue du client lors de l'jout de lignes dans les commandes/propales/factures
This commit is contained in:
@@ -747,8 +747,24 @@ if ($_POST['action'] == "addline" && $user->rights->propale->creer)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$desc = $prod->description;
|
// Define output language
|
||||||
$desc.= ($prod->description && $_POST['np_desc']) ? ((dol_textishtml($prod->description) || dol_textishtml($_POST['np_desc']))?"<br>\n":"\n") : "";
|
if ($conf->global->PRODUIT_DESC_IN_CLIENT_LANGUAGE) {
|
||||||
|
$outputlangs = $langs;
|
||||||
|
$newlang='';
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||||
|
if (! empty($newlang))
|
||||||
|
{
|
||||||
|
$outputlangs = new Translate("",$conf);
|
||||||
|
$outputlangs->setDefaultLang($newlang);
|
||||||
|
}
|
||||||
|
|
||||||
|
$desc = (! empty($prod->multilangs[$outputlangs->defaultlang]["description"]))?$prod->multilangs[$outputlangs->defaultlang]["description"]:$prod->description;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$desc = $prod->description;
|
||||||
|
|
||||||
|
$desc.= ($desc && $_POST['np_desc']) ? ((dol_textishtml($desc) || dol_textishtml($_POST['np_desc']))?"<br />\n":"\n") : "";
|
||||||
$desc.= $_POST['np_desc'];
|
$desc.= $_POST['np_desc'];
|
||||||
$type = $prod->type;
|
$type = $prod->type;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -552,8 +552,24 @@ if ($action == 'addline' && $user->rights->commande->creer)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$desc = $prod->description;
|
// Define output language
|
||||||
$desc.= ($prod->description && $_POST['np_desc']) ? ((dol_textishtml($prod->description) || dol_textishtml($_POST['np_desc']))?"<br>\n":"\n") : "";
|
if ($conf->global->PRODUIT_DESC_IN_CLIENT_LANGUAGE) {
|
||||||
|
$outputlangs = $langs;
|
||||||
|
$newlang='';
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||||
|
if (! empty($newlang))
|
||||||
|
{
|
||||||
|
$outputlangs = new Translate("",$conf);
|
||||||
|
$outputlangs->setDefaultLang($newlang);
|
||||||
|
}
|
||||||
|
|
||||||
|
$desc = (! empty($prod->multilangs[$outputlangs->defaultlang]["description"]))?$prod->multilangs[$outputlangs->defaultlang]["description"]:$prod->description;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$desc = $prod->description;
|
||||||
|
|
||||||
|
$desc.= ($desc && $_POST['np_desc']) ? ((dol_textishtml($desc) || dol_textishtml($_POST['np_desc']))?"<br />\n":"\n") : "";
|
||||||
$desc.= $_POST['np_desc'];
|
$desc.= $_POST['np_desc'];
|
||||||
$type = $prod->type;
|
$type = $prod->type;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -996,8 +996,24 @@ if (($action == 'addline' || $action == 'addline_predef') && $user->rights->fact
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$desc = $prod->description;
|
// Define output language
|
||||||
$desc.= ($prod->description && $_POST['np_desc']) ? ((dol_textishtml($prod->description) || dol_textishtml($_POST['np_desc']))?"<br>\n":"\n") : "";
|
if ($conf->global->PRODUIT_DESC_IN_CLIENT_LANGUAGE) {
|
||||||
|
$outputlangs = $langs;
|
||||||
|
$newlang='';
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
|
||||||
|
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||||
|
if (! empty($newlang))
|
||||||
|
{
|
||||||
|
$outputlangs = new Translate("",$conf);
|
||||||
|
$outputlangs->setDefaultLang($newlang);
|
||||||
|
}
|
||||||
|
|
||||||
|
$desc = (! empty($prod->multilangs[$outputlangs->defaultlang]["description"]))?$prod->multilangs[$outputlangs->defaultlang]["description"]:$prod->description;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$desc = $prod->description;
|
||||||
|
|
||||||
|
$desc.= ($desc && $_POST['np_desc']) ? ((dol_textishtml($desc) || dol_textishtml($_POST['np_desc']))?"<br>\n":"\n") : "";
|
||||||
$desc.= $_POST['np_desc'];
|
$desc.= $_POST['np_desc'];
|
||||||
if (! empty($prod->customcode) || ! empty($prod->country_code))
|
if (! empty($prod->customcode) || ! empty($prod->country_code))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1111,6 +1111,7 @@ NumberOfProductShowInSelect=Max number of products in combos select lists (0=no
|
|||||||
ConfirmDeleteProductLineAbility=Confirmation when removing product lines in forms
|
ConfirmDeleteProductLineAbility=Confirmation when removing product lines in forms
|
||||||
ModifyProductDescAbility=Personalization of product descriptions in forms
|
ModifyProductDescAbility=Personalization of product descriptions in forms
|
||||||
ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip)
|
ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip)
|
||||||
|
ViewProductDescInClientLanguageAbility=Visualization of product descriptions in the customer language
|
||||||
UseSearchToSelectProduct=Use a search form to choose a product (instead of using a list box).<br>Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectProduct=Use a search form to choose a product (instead of using a list box).<br>Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseEcoTaxeAbility=Support Eco-Taxe (WEEE)
|
UseEcoTaxeAbility=Support Eco-Taxe (WEEE)
|
||||||
SetDefaultBarcodeTypeProducts=Default barcode type to use for products
|
SetDefaultBarcodeTypeProducts=Default barcode type to use for products
|
||||||
|
|||||||
@@ -1119,6 +1119,7 @@ NumberOfProductShowInSelect= Nombre de produits max dans les listes déroulantes
|
|||||||
ConfirmDeleteProductLineAbility= Confirmation de suppression d'une ligne produit dans les formulaires
|
ConfirmDeleteProductLineAbility= Confirmation de suppression d'une ligne produit dans les formulaires
|
||||||
ModifyProductDescAbility= Personnalisation des descriptions produits dans les formulaires
|
ModifyProductDescAbility= Personnalisation des descriptions produits dans les formulaires
|
||||||
ViewProductDescInFormAbility= Visualisation des descriptions produits dans les formulaires (sinon en tant que tooltip)
|
ViewProductDescInFormAbility= Visualisation des descriptions produits dans les formulaires (sinon en tant que tooltip)
|
||||||
|
ViewProductDescInClientLanguageAbility= Visualisation des descriptions produits dans la langue du client
|
||||||
UseSearchToSelectProduct= Utiliser un formulaire de recherche pour le choix d'un produit (plutôt qu'une liste déroulante).<br>Notez que si vous avez un nombre important de produits ou services (> 100 000), vous pouvez améliorer les performances en définissant la constante PRODUCT_DONOTSEARCH_ANYWHERE à 1 dans Configuration->Divers. La recherche sera alors limitée au début de la chaine.
|
UseSearchToSelectProduct= Utiliser un formulaire de recherche pour le choix d'un produit (plutôt qu'une liste déroulante).<br>Notez que si vous avez un nombre important de produits ou services (> 100 000), vous pouvez améliorer les performances en définissant la constante PRODUCT_DONOTSEARCH_ANYWHERE à 1 dans Configuration->Divers. La recherche sera alors limitée au début de la chaine.
|
||||||
UseEcoTaxeAbility= Prise en charge des éco-taxes (DEEE)
|
UseEcoTaxeAbility= Prise en charge des éco-taxes (DEEE)
|
||||||
SetDefaultBarcodeTypeProducts= Type de code-barres utilisé par défaut pour les produits
|
SetDefaultBarcodeTypeProducts= Type de code-barres utilisé par défaut pour les produits
|
||||||
|
|||||||
@@ -69,6 +69,11 @@ else if ($action == 'viewProdDescInForm')
|
|||||||
$view = GETPOST("activate_viewProdDescInForm");
|
$view = GETPOST("activate_viewProdDescInForm");
|
||||||
$res = dolibarr_set_const($db, "PRODUIT_DESC_IN_FORM", $view,'chaine',0,'',$conf->entity);
|
$res = dolibarr_set_const($db, "PRODUIT_DESC_IN_FORM", $view,'chaine',0,'',$conf->entity);
|
||||||
}
|
}
|
||||||
|
else if ($action == 'viewProdDescInClientLanguage')
|
||||||
|
{
|
||||||
|
$view = GETPOST("activate_viewProdDescInClientLanguage");
|
||||||
|
$res = dolibarr_set_const($db, "PRODUIT_DESC_IN_CLIENT_LANGUAGE", $view,'chaine',0,'',$conf->entity);
|
||||||
|
}
|
||||||
else if ($action == 'usesearchtoselectproduct')
|
else if ($action == 'usesearchtoselectproduct')
|
||||||
{
|
{
|
||||||
$usesearch = GETPOST("activate_usesearchtoselectproduct");
|
$usesearch = GETPOST("activate_usesearchtoselectproduct");
|
||||||
@@ -249,6 +254,22 @@ print '</td>';
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
|
// Visualiser description produit dans la langue du client
|
||||||
|
$var=!$var;
|
||||||
|
print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">';
|
||||||
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
print '<input type="hidden" name="action" value="viewProdDescInClientLanguage">';
|
||||||
|
print '<tr '.$bc[$var].'>';
|
||||||
|
print '<td>'.$langs->trans("ViewProductDescInClientLanguageAbility").'</td>';
|
||||||
|
print '<td width="60" align="right">';
|
||||||
|
print $form->selectyesno("activate_viewProdDescInClientLanguage",$conf->global->PRODUIT_DESC_IN_CLIENT_LANGUAGE,1);
|
||||||
|
print '</td><td align="right">';
|
||||||
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
print '</form>';
|
||||||
|
|
||||||
|
|
||||||
if ($conf->global->PRODUCT_CANVAS_ABILITY)
|
if ($conf->global->PRODUCT_CANVAS_ABILITY)
|
||||||
{
|
{
|
||||||
// Add canvas feature
|
// Add canvas feature
|
||||||
|
|||||||
Reference in New Issue
Block a user