Merge pull request #13317 from TobiasSekan/FixErrorOnAddLineToOrder

FIX Error on add a new line to a supplier order (with ODT templates)
This commit is contained in:
Laurent Destailleur 2020-03-11 16:58:44 +01:00 committed by GitHub
commit 21dbddac76
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -609,22 +609,33 @@ abstract class CommonDocGenerator
// Add the product supplier extrafields to the substitutions // Add the product supplier extrafields to the substitutions
$extrafields->fetch_name_optionals_label("product_fournisseur_price"); $extrafields->fetch_name_optionals_label("product_fournisseur_price");
$extralabels=$extrafields->attributes["product_fournisseur_price"]['label']; $extralabels=$extrafields->attributes["product_fournisseur_price"]['label'];
if (!empty($extralabels) && is_array($extralabels))
{
$columns = ""; $columns = "";
foreach ($extralabels as $key => $value)
foreach ($extralabels as $key)
{
$columns .= "$key, "; $columns .= "$key, ";
}
if ($columns != "") if ($columns != "")
{ {
$columns = substr($columns, 0, strlen($columns) - 2); $columns = substr($columns, 0, strlen($columns) - 2);
$resql = $this->db->query("SELECT $columns FROM " . MAIN_DB_PREFIX . "product_fournisseur_price_extrafields AS ex INNER JOIN " . MAIN_DB_PREFIX . "product_fournisseur_price AS f ON ex.fk_object = f.rowid WHERE f.ref_fourn = '" . $line->ref_supplier . "'"); $resql = $this->db->query("SELECT $columns FROM " . MAIN_DB_PREFIX . "product_fournisseur_price_extrafields AS ex INNER JOIN " . MAIN_DB_PREFIX . "product_fournisseur_price AS f ON ex.fk_object = f.rowid WHERE f.ref_fourn = '" . $line->ref_supplier . "'");
if ($this->db->num_rows($resql) > 0) {
if ($this->db->num_rows($resql) > 0)
{
$resql = $this->db->fetch_object($resql); $resql = $this->db->fetch_object($resql);
foreach ($extralabels as $key => $value) foreach ($extralabels as $key)
{
$resarray['line_product_supplier_'.$key] = $resql->{$key}; $resarray['line_product_supplier_'.$key] = $resql->{$key};
} }
} }
} }
}
}
// Load product data optional fields to the line -> enables to use "line_options_{extrafield}" // Load product data optional fields to the line -> enables to use "line_options_{extrafield}"
if (isset($line->fk_product) && $line->fk_product > 0) if (isset($line->fk_product) && $line->fk_product > 0)