diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php
index bf0c691084f..8bd9f7ffa98 100644
--- a/htdocs/comm/propal/card.php
+++ b/htdocs/comm/propal/card.php
@@ -2130,6 +2130,22 @@ if ($action == 'create')
print '';
}
+ $tmparray=$object->getTotalWeightVolume();
+ $totalWeight=$tmparray['weight'];
+ $totalVolume=$tmparray['volume'];
+ if ($totalWeight) {
+ print '
| ' . $langs->trans("CalculatedWeight") . ' | ';
+ print '';
+ print showDimensionInBestUnit($totalWeight, 0, "weight", $langs, isset($conf->global->MAIN_WEIGHT_DEFAULT_ROUND)?$conf->global->MAIN_WEIGHT_DEFAULT_ROUND:-1, isset($conf->global->MAIN_WEIGHT_DEFAULT_UNIT)?$conf->global->MAIN_WEIGHT_DEFAULT_UNIT:'no');
+ print ' |
';
+ }
+ if ($totalVolume) {
+ print '| ' . $langs->trans("CalculatedVolume") . ' | ';
+ print '';
+ print showDimensionInBestUnit($totalVolume, 0, "volume", $langs, isset($conf->global->MAIN_VOLUME_DEFAULT_ROUND)?$conf->global->MAIN_VOLUME_DEFAULT_ROUND:-1, isset($conf->global->MAIN_VOLUME_DEFAULT_UNIT)?$conf->global->MAIN_VOLUME_DEFAULT_UNIT:'no');
+ print ' |
';
+ }
+
// Incoterms
if (!empty($conf->incoterm->enabled))
{
diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php
index 2d4d138f61a..24ab03c831a 100644
--- a/htdocs/commande/card.php
+++ b/htdocs/commande/card.php
@@ -2300,12 +2300,15 @@ if ($action == 'create' && $user->rights->commande->creer)
$tmparray=$object->getTotalWeightVolume();
$totalWeight=$tmparray['weight'];
$totalVolume=$tmparray['volume'];
- if ($totalWeight || $totalVolume)
+ if ($totalWeight)
{
print '| '.$langs->trans("CalculatedWeight").' | ';
print '';
print showDimensionInBestUnit($totalWeight, 0, "weight", $langs, isset($conf->global->MAIN_WEIGHT_DEFAULT_ROUND)?$conf->global->MAIN_WEIGHT_DEFAULT_ROUND:-1, isset($conf->global->MAIN_WEIGHT_DEFAULT_UNIT)?$conf->global->MAIN_WEIGHT_DEFAULT_UNIT:'no');
print ' |
';
+ }
+ if ($totalVolume)
+ {
print '| '.$langs->trans("CalculatedVolume").' | ';
print '';
print showDimensionInBestUnit($totalVolume, 0, "volume", $langs, isset($conf->global->MAIN_VOLUME_DEFAULT_ROUND)?$conf->global->MAIN_VOLUME_DEFAULT_ROUND:-1, isset($conf->global->MAIN_VOLUME_DEFAULT_UNIT)?$conf->global->MAIN_VOLUME_DEFAULT_UNIT:'no');
diff --git a/htdocs/core/tpl/objectline_create.tpl.php b/htdocs/core/tpl/objectline_create.tpl.php
index 0bccdd61e79..d26a31b3cd2 100644
--- a/htdocs/core/tpl/objectline_create.tpl.php
+++ b/htdocs/core/tpl/objectline_create.tpl.php
@@ -142,49 +142,54 @@ else {
|
element == 'contrat')
+
+ $freelines = false;
+ if (empty($conf->global->MAIN_DISABLE_FREE_LINES))
{
- if (empty($conf->product->enabled) && empty($conf->service->enabled) && empty($conf->global->CONTRACT_SUPPORT_PRODUCTS)) $forceall=-1; // With contract, by default, no choice at all, except if CONTRACT_SUPPORT_PRODUCTS is set
- else $forceall=0;
- }
-
- // Free line
- echo '';
- // Show radio free line
- if ($forceall >= 0 && (! empty($conf->product->enabled) || ! empty($conf->service->enabled)))
- {
- echo '';
- echo ' ';
- }
- else
- {
- echo '';
- // Show type selector
- if ($forceall >= 0)
+ $freelines = true;
+ $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')
{
- if (empty($conf->product->enabled) || empty($conf->service->enabled)) echo $langs->trans("Type");
- else echo $langs->trans("FreeLineOfType");
+ if (empty($conf->product->enabled) && empty($conf->service->enabled) && empty($conf->global->CONTRACT_SUPPORT_PRODUCTS)) $forceall=-1; // With contract, by default, no choice at all, except if CONTRACT_SUPPORT_PRODUCTS is set
+ else $forceall=0;
+ }
+
+ // Free line
+ echo '';
+ // Show radio free line
+ if ($forceall >= 0 && (! empty($conf->product->enabled) || ! empty($conf->service->enabled)))
+ {
+ echo '';
echo ' ';
}
+ else
+ {
+ echo '';
+ // Show type selector
+ if ($forceall >= 0)
+ {
+ if (empty($conf->product->enabled) || empty($conf->service->enabled)) echo $langs->trans("Type");
+ else echo $langs->trans("FreeLineOfType");
+ echo ' ';
+ }
+ }
+
+ echo $form->select_type_of_lines(isset($_POST["type"])?GETPOST("type",'alpha',2):-1,'type',1,1,$forceall);
+
+ echo '';
}
- echo $form->select_type_of_lines(isset($_POST["type"])?GETPOST("type",'alpha',2):-1,'type',1,1,$forceall);
-
- echo '';
-
// Predefined product/service
if (! empty($conf->product->enabled) || ! empty($conf->service->enabled))
{
- if ($forceall >= 0) echo ' ';
+ if ($forceall >= 0 && $freelines) echo ' ';
echo '';
echo ' |