diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index 8dfe80368e9..3779473eacb 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -543,7 +543,7 @@ class Form
* @param string $selected Preselected type
* @param string $htmlname Name of field in html form
* @param int $showempty Add an empty field
- * @param int $hidetext Do not show label before combo box
+ * @param int $hidetext Do not show label 'Type' before combo box (used only if there is at least 2 choices to select)
* @param string $forceall Force to show products and services in combo list, whatever are activated modules
* @return void
*/
@@ -577,10 +577,12 @@ class Form
}
if (! $forceall && empty($conf->product->enabled) && ! empty($conf->service->enabled))
{
+ print $langs->trans("Service");
print '';
}
if (! $forceall && ! empty($conf->product->enabled) && empty($conf->service->enabled))
{
+ print $langs->trans("Product");
print '';
}
diff --git a/htdocs/core/tpl/objectline_create.tpl.php b/htdocs/core/tpl/objectline_create.tpl.php
index 719d6c1794c..97e6224999f 100644
--- a/htdocs/core/tpl/objectline_create.tpl.php
+++ b/htdocs/core/tpl/objectline_create.tpl.php
@@ -118,7 +118,12 @@ else {
else if (empty($conf->product->enabled) && ! empty($conf->service->enabled)) echo $langs->trans("FreeLineOfType").' '.$langs->trans("Service");
else if (! empty($conf->product->enabled) && empty($conf->service->enabled)) echo $langs->trans("FreeLineOfType").' '.$langs->trans("Product");*/
echo ' ';
- echo $form->select_type_of_lines(isset($_POST["type"])?$_POST["type"]:-1,'type',1,1,1);
+ $forceall=1; // We always force all type for free lines (module product or service means we use predefined product or service)
+ if ($object->element == 'contrat' && empty($conf->global->CONTRACT_SUPPORT_PRODUCTS))
+ {
+ $forceall=0;
+ }
+ echo $form->select_type_of_lines(isset($_POST["type"])?$_POST["type"]:-1,'type',1,1,$forceall);
// }
echo '';
diff --git a/htdocs/fourn/commande/fiche.php b/htdocs/fourn/commande/fiche.php
index dbac3c4230d..9caef34d845 100644
--- a/htdocs/fourn/commande/fiche.php
+++ b/htdocs/fourn/commande/fiche.php
@@ -1725,8 +1725,11 @@ elseif (! empty($object->id))
}
else
{
- print $form->select_type_of_lines($line->product_type,'type',1);
+ $forceall=1; // For suppliers, we always show all types
+ print $form->select_type_of_lines($line->product_type,'type',1,0,$forceall);
if (! empty($conf->product->enabled) && ! empty($conf->service->enabled)) print '
';
+ if ($forceall || (! empty($conf->product->enabled) && ! empty($conf->service->enabled))
+ || (empty($conf->product->enabled) && empty($conf->service->enabled))) print '
';
}
if (is_object($hookmanager))
diff --git a/htdocs/fourn/facture/fiche.php b/htdocs/fourn/facture/fiche.php
index 4e1c3246eff..d962f30e69f 100644
--- a/htdocs/fourn/facture/fiche.php
+++ b/htdocs/fourn/facture/fiche.php
@@ -311,7 +311,7 @@ elseif ($action == 'add' && $user->rights->fournisseur->facture->creer)
$object->mode_reglement_id = GETPOST('mode_reglement_id');
$object->fk_account = GETPOST('fk_account', 'int');
$object->fk_project = ($tmpproject > 0) ? $tmpproject : null;
-
+
// Auto calculation of date due if not filled by user
if(empty($object->date_echeance)) $object->date_echeance = $object->calculate_date_lim_reglement();
@@ -1648,7 +1648,7 @@ else
// Local taxes
if ($societe->localtax1_assuj=="1") $nbrows++;
if ($societe->localtax2_assuj=="1") $nbrows++;
-
+
print '