Merge pull request #24349 from jyhere/jyhere/fix-import-compute

Fix array of field names passed to class/method when using a field with compute rule
This commit is contained in:
Laurent Destailleur 2023-03-28 19:42:00 +02:00 committed by GitHub
commit 8eabcc2dd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -649,7 +649,7 @@ class ImportCsv extends ModeleImports
break;
}
$classinstance = new $class($this->db);
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord, $listfields, ($key - 1)));
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord, $arrayfield, ($key - 1)));
$newval = $res; // We get new value computed.
} elseif ($objimport->array_import_convertvalue[0][$val]['rule'] == 'numeric') {
$newval = price2num($newval);
@ -809,7 +809,7 @@ class ImportCsv extends ModeleImports
break;
}
$classinstance = new $class($this->db);
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord, $listfields, ($key - 1)));
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord, $arrayfield, ($key - 1)));
$fieldArr = explode('.', $fieldname);
if (count($fieldArr) > 0) {
$fieldname = $fieldArr[1];

View File

@ -694,7 +694,7 @@ class ImportXlsx extends ModeleImports
break;
}
$classinstance = new $class($this->db);
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord, $listfields, $key));
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord, $arrayfield, $key));
$newval = $res; // We get new value computed.
} elseif ($objimport->array_import_convertvalue[0][$val]['rule'] == 'numeric') {
$newval = price2num($newval);
@ -853,7 +853,7 @@ class ImportXlsx extends ModeleImports
break;
}
$classinstance = new $class($this->db);
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord, $listfields, $key));
$res = call_user_func_array(array($classinstance, $method), array(&$arrayrecord, $arrayfield, $key));
$fieldArr = explode('.', $fieldname);
if (count($fieldArr) > 0) {
$fieldname = $fieldArr[1];