diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php
index 9592cd7fb16..a85766e1c99 100644
--- a/htdocs/core/lib/product.lib.php
+++ b/htdocs/core/lib/product.lib.php
@@ -467,7 +467,7 @@ function show_stats_for_company($product, $socid)
* @param int $unit Unit key (-3,0,3,98,99...)
* @param string $measuring_style Style of unit: weight, volume,...
* @return string Unit string
- * @see formproduct->load_measuring_units
+ * @see formproduct->selectMeasuringUnits
*/
function measuring_units_string($unit, $measuring_style = '')
{
@@ -496,7 +496,7 @@ function measuring_units_string($unit, $measuring_style = '')
*
* @param int $unit Unit key (-3,-2,-1,0,98,99...)
* @return int Squared unit key (-6,-4,-2,0,98,99...)
- * @see formproduct->load_measuring_units
+ * @see formproduct->selectMeasuringUnits
*/
function measuring_units_squared($unit)
{
@@ -516,7 +516,7 @@ function measuring_units_squared($unit)
*
* @param int $unit Unit key (-3,-2,-1,0,98,99...)
* @return int Cubed unit key (-9,-6,-3,0,88,89...)
- * @see formproduct->load_measuring_units
+ * @see formproduct->selectMeasuringUnits
*/
function measuring_units_cubed($unit)
{
diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php
index 181e8b89a59..4186d4eae3f 100644
--- a/htdocs/expedition/card.php
+++ b/htdocs/expedition/card.php
@@ -996,7 +996,7 @@ if ($action == 'create')
print '
| ';
print $langs->trans("Weight");
print ' | ';
- $text=$formproduct->select_measuring_units("weight_units", "weight", GETPOST('weight_units', 'int'));
+ $text=$formproduct->selectMeasuringUnits("weight_units", "weight", GETPOST('weight_units', 'int'));
$htmltext=$langs->trans("KeepEmptyForAutoCalculation");
print $form->textwithpicto($text, $htmltext);
print ' |
';
@@ -1007,7 +1007,7 @@ if ($action == 'create')
print ' x ';
print ' x ';
print ' ';
- $text=$formproduct->select_measuring_units("size_units", "size");
+ $text=$formproduct->selectMeasuringUnits("size_units", "size");
$htmltext=$langs->trans("KeepEmptyForAutoCalculation");
print $form->textwithpicto($text, $htmltext);
print '';
@@ -1820,7 +1820,7 @@ elseif ($id || $ref)
print '';
print '';
print '';
- print $formproduct->select_measuring_units("weight_units", "weight", $object->weight_units);
+ print $formproduct->selectMeasuringUnits("weight_units", "weight", $object->weight_units);
print ' ';
print ' ';
print '';
@@ -1857,7 +1857,7 @@ elseif ($id || $ref)
print '';
print '';
print '';
- print $formproduct->select_measuring_units("size_units", "size", $object->size_units);
+ print $formproduct->selectMeasuringUnits("size_units", "size", $object->size_units);
print ' ';
print ' ';
print '';
diff --git a/htdocs/install/mysql/data/llx_c_units.sql b/htdocs/install/mysql/data/llx_c_units.sql
index 82672a87082..30484471ca8 100644
--- a/htdocs/install/mysql/data/llx_c_units.sql
+++ b/htdocs/install/mysql/data/llx_c_units.sql
@@ -18,7 +18,7 @@
-- ========================================================================
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('T', '3','WeightUnitton','T', 'weight', 1);
-INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('KG', '0','WeightUnitkg','Kg', 'weight', 1);
+INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('KG', '0','WeightUnitkg','kg', 'weight', 1);
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('G', '-3','WeightUnitg','g', 'weight', 1);
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('MG','-6','WeightUnitmg','mg', 'weight', 1);
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('OZ','98','WeightUnitounce','Oz', 'weight', 1);
diff --git a/htdocs/install/mysql/migration/9.0.0-10.0.0.sql b/htdocs/install/mysql/migration/9.0.0-10.0.0.sql
index e007f179bad..219deef6dc2 100644
--- a/htdocs/install/mysql/migration/9.0.0-10.0.0.sql
+++ b/htdocs/install/mysql/migration/9.0.0-10.0.0.sql
@@ -120,7 +120,7 @@ CREATE TABLE llx_c_units(
ALTER TABLE llx_c_units ADD UNIQUE uk_c_units_code(code);
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('T','3','WeightUnitton','T', 'weight', 1);
-INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('KG','0','WeightUnitkg','Kg', 'weight', 1);
+INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('KG','0','WeightUnitkg','kg', 'weight', 1);
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('G','-3','WeightUnitg','g', 'weight', 1);
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('MG','-6','WeightUnitmg','mg', 'weight', 1);
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('OZ','98','WeightUnitounce','Oz', 'weight', 1);
@@ -163,6 +163,17 @@ INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VAL
INSERT INTO llx_c_units (code, scale, label, short_label, unit_type, active) VALUES ('Y','31557600','year','y', 'time', 1);
UPDATE llx_c_units SET short_label = 'i' WHERE code = 'MI';
+UPDATE llx_c_units SET unit_type = 'weight', short_label = 'kg' WHERE code = 'KG';
+UPDATE llx_c_units SET unit_type = 'weight', short_label = 'g' WHERE code = 'G';
+UPDATE llx_c_units SET unit_type = 'time' WHERE code IN ('S','H','D');
+UPDATE llx_c_units SET unit_type = 'size' WHERE code IN ('M','LM');
+UPDATE llx_c_units SET label = 'SizeUnitm' WHERE code IN ('M');
+UPDATE llx_c_units SET active = 0 WHERE code IN ('LM');
+UPDATE llx_c_units SET unit_type = 'surface' WHERE code IN ('M2');
+UPDATE llx_c_units SET unit_type = 'volume' WHERE code IN ('M3','L');
+UPDATE llx_c_units SET scale = -3, active = 0 WHERE code IN ('L');
+UPDATE llx_c_units SET label = 'VolumeUnitm3' WHERE code IN ('M3');
+UPDATE llx_c_units SET label = 'SurfaceUnitm2' WHERE code IN ('M2');
-- Default Warehouse id for a user
diff --git a/htdocs/product/canvas/product/actions_card_product.class.php b/htdocs/product/canvas/product/actions_card_product.class.php
index 461fa942679..db7ad4d2b70 100644
--- a/htdocs/product/canvas/product/actions_card_product.class.php
+++ b/htdocs/product/canvas/product/actions_card_product.class.php
@@ -181,19 +181,19 @@ class ActionsCardProduct
// Weight
$this->tpl['weight'] = $this->object->weight;
- $this->tpl['weight_units'] = $formproduct->load_measuring_units("weight_units", "weight", $this->object->weight_units);
+ $this->tpl['weight_units'] = $formproduct->selectMeasuringUnits("weight_units", "weight", $this->object->weight_units);
// Length
$this->tpl['length'] = $this->object->length;
- $this->tpl['length_units'] = $formproduct->load_measuring_units("length_units", "size", $this->object->length_units);
+ $this->tpl['length_units'] = $formproduct->selectMeasuringUnits("length_units", "size", $this->object->length_units);
// Surface
$this->tpl['surface'] = $this->object->surface;
- $this->tpl['surface_units'] = $formproduct->load_measuring_units("surface_units", "surface", $this->object->surface_units);
+ $this->tpl['surface_units'] = $formproduct->selectMeasuringUnits("surface_units", "surface", $this->object->surface_units);
// Volume
$this->tpl['volume'] = $this->object->volume;
- $this->tpl['volume_units'] = $formproduct->load_measuring_units("volume_units", "volume", $this->object->volume_units);
+ $this->tpl['volume_units'] = $formproduct->selectMeasuringUnits("volume_units", "volume", $this->object->volume_units);
}
if ($action == 'view')
diff --git a/htdocs/product/card.php b/htdocs/product/card.php
index 8ebf9268398..5c2862a0b63 100644
--- a/htdocs/product/card.php
+++ b/htdocs/product/card.php
@@ -1026,7 +1026,7 @@ else
{
print '| '.$langs->trans("Duration").' | ';
print '';
- print $formproduct->load_measuring_units("duration_unit", "time", GETPOST('duration_value', 'alpha'), 0, 1);
+ print $formproduct->selectMeasuringUnits("duration_unit", "time", GETPOST('duration_value', 'alpha'), 0, 1);
print ' |
';
}
@@ -1041,7 +1041,7 @@ else
// Weight
print '| '.$langs->trans("Weight").' | ';
print '';
- print $formproduct->load_measuring_units("weight_units", "weight", (empty($conf->global->MAIN_WEIGHT_DEFAULT_UNIT)?0:$conf->global->MAIN_WEIGHT_DEFAULT_UNIT));
+ print $formproduct->selectMeasuringUnits("weight_units", "weight", (empty($conf->global->MAIN_WEIGHT_DEFAULT_UNIT)?0:$conf->global->MAIN_WEIGHT_DEFAULT_UNIT));
print ' |
';
// Length
if (empty($conf->global->PRODUCT_DISABLE_SIZE))
@@ -1050,7 +1050,7 @@ else
print ' x ';
print ' x ';
print '';
- print $formproduct->select_measuring_units("size_units", "size");
+ print $formproduct->selectMeasuringUnits("size_units", "size");
print '';
}
if (empty($conf->global->PRODUCT_DISABLE_SURFACE))
@@ -1058,7 +1058,7 @@ else
// Surface
print '| '.$langs->trans("Surface").' | ';
print '';
- print $formproduct->select_measuring_units("surface_units", "surface");
+ print $formproduct->selectMeasuringUnits("surface_units", "surface");
print ' |
';
}
if (empty($conf->global->PRODUCT_DISABLE_VOLUME))
@@ -1066,7 +1066,7 @@ else
// Volume
print '| '.$langs->trans("Volume").' | ';
print '';
- print $formproduct->select_measuring_units("volume_units", "volume");
+ print $formproduct->selectMeasuringUnits("volume_units", "volume");
print ' |
';
}
}
@@ -1402,7 +1402,7 @@ else
// Duration
print '| '.$langs->trans("Duration").' | ';
print ' ';
- print $formproduct->load_measuring_units("duration_unit", "time", $object->duration_unit, 0, 1);
+ print $formproduct->selectMeasuringUnits("duration_unit", "time", $object->duration_unit, 0, 1);
print ' |
';
}
else
@@ -1416,7 +1416,7 @@ else
// Weight
print '| '.$langs->trans("Weight").' | ';
print ' ';
- print $formproduct->select_measuring_units("weight_units", "weight", $object->weight_units);
+ print $formproduct->selectMeasuringUnits("weight_units", "weight", $object->weight_units);
print ' |
';
if (empty($conf->global->PRODUCT_DISABLE_SIZE))
{
@@ -1425,7 +1425,7 @@ else
print 'x';
print 'x';
print ' ';
- print $formproduct->select_measuring_units("size_units", "size", $object->length_units);
+ print $formproduct->selectMeasuringUnits("size_units", "size", $object->length_units);
print '';
}
if (empty($conf->global->PRODUCT_DISABLE_SURFACE))
@@ -1433,7 +1433,7 @@ else
// Surface
print '| '.$langs->trans("Surface").' | ';
print ' ';
- print $formproduct->select_measuring_units("surface_units", "surface", $object->surface_units);
+ print $formproduct->selectMeasuringUnits("surface_units", "surface", $object->surface_units);
print ' |
';
}
if (empty($conf->global->PRODUCT_DISABLE_VOLUME))
@@ -1441,7 +1441,7 @@ else
// Volume
print '| '.$langs->trans("Volume").' | ';
print ' ';
- print $formproduct->select_measuring_units("volume_units", "volume", $object->volume_units);
+ print $formproduct->selectMeasuringUnits("volume_units", "volume", $object->volume_units);
print ' |
';
}
}
diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php
index 5663e8c5987..b4347f82941 100644
--- a/htdocs/product/class/html.formproduct.class.php
+++ b/htdocs/product/class/html.formproduct.class.php
@@ -291,14 +291,14 @@ class FormProduct
* @param int $adddefault Add empty unit called "Default"
* @param int $mode 1=Use short label as value, 0=Use rowid
* @return void
+ * @deprecated
*/
public function select_measuring_units($name = 'measuring_units', $measuring_style = '', $default = '0', $adddefault = 0, $mode = 0)
{
//phpcs:enable
- print $this->load_measuring_units($name, $measuring_style, $default, $adddefault, $mode);
+ print $this->selectMeasuringUnits($name, $measuring_style, $default, $adddefault, $mode);
}
- // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
/**
* Return a combo box with list of units
* For the moment, units labels are defined in measuring_units_string
@@ -310,14 +310,14 @@ class FormProduct
* @param int $mode 1=Use short label as value, 0=Use rowid
* @return string
*/
- public function load_measuring_units($name = 'measuring_units', $measuring_style = '', $default = '0', $adddefault = 0, $mode = 0)
+ public function selectMeasuringUnits($name = 'measuring_units', $measuring_style = '', $default = '0', $adddefault = 0, $mode = 0)
{
- //phpcs:enable
global $langs, $conf, $mysoc, $db;
$langs->load("other");
$return = '';
+ // TODO Use a cache
require_once DOL_DOCUMENT_ROOT . '/core/class/cunits.class.php';
$measuringUnits = new CUnits($db);
$result = $measuringUnits->fetchAll(
@@ -332,13 +332,16 @@ class FormProduct
);
if ($result < 0) {
dol_print_error($db);
- return - 1;
+ return -1;
} else {
$return .= '