This commit is contained in:
Laurent Destailleur 2022-06-14 17:36:42 +02:00
parent 6c1c8058c1
commit b5f77b4035
3 changed files with 15 additions and 17 deletions

View File

@ -1571,7 +1571,8 @@ if ($action == 'create') {
} }
} }
// Line extrafield // Display lines for extrafields of the Shipment line
// $line is a 'Order line'
if (!empty($extrafields)) { if (!empty($extrafields)) {
//var_dump($line); //var_dump($line);
$colspan = 5; $colspan = 5;
@ -1580,6 +1581,7 @@ if ($action == 'create') {
$srcLine = new OrderLine($db); $srcLine = new OrderLine($db);
$srcLine->id = $line->id; $srcLine->id = $line->id;
$srcLine->fetch_optionals(); // fetch extrafields also available in orderline $srcLine->fetch_optionals(); // fetch extrafields also available in orderline
$expLine->array_options = array_merge($expLine->array_options, $srcLine->array_options); $expLine->array_options = array_merge($expLine->array_options, $srcLine->array_options);
print $expLine->showOptionals($extrafields, 'edit', array('style'=>'class="drag drop oddeven"', 'colspan'=>$colspan), $indiceAsked, '', 1); print $expLine->showOptionals($extrafields, 'edit', array('style'=>'class="drag drop oddeven"', 'colspan'=>$colspan), $indiceAsked, '', 1);

View File

@ -75,7 +75,7 @@ class CommandeFournisseurDispatch extends CommonObjectLine
public $fk_product; public $fk_product;
/** /**
* @var int ID * @var int ID. Should be named fk_origin_line ?
*/ */
public $fk_commandefourndet; public $fk_commandefourndet;

View File

@ -101,11 +101,13 @@ $hidedesc = (GETPOST('hidedesc', 'int') ? GETPOST('hidedesc', 'int') : (!empty($
$hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0)); $hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0));
$object = new Reception($db); $object = new Reception($db);
$objectorder = new CommandeFournisseur($db);
$extrafields = new ExtraFields($db); $extrafields = new ExtraFields($db);
// fetch optionals attributes and labels // fetch optionals attributes and labels
$extrafields->fetch_name_optionals_label($object->table_element); $extrafields->fetch_name_optionals_label($object->table_element);
$extrafields->fetch_name_optionals_label($object->table_element_line); $extrafields->fetch_name_optionals_label($object->table_element_line);
$extrafields->fetch_name_optionals_label($objectorder->table_element_line);
// Load object. Make an object->fetch // Load object. Make an object->fetch
include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once
@ -1237,32 +1239,26 @@ if ($action == 'create') {
print "</tr>\n"; print "</tr>\n";
$extralabelslines = $extrafields->attributes[$line->table_element]; // Display lines for extrafields of the Reception line
// $line is a 'CommandeFournisseurLigne', $dispatchLines contains values of Reception lines so properties of CommandeFournisseurDispatch
// Display lines extrafields if (!empty($extrafields)) {
// $line is a line of reception (so CommandeFournisseurDispatch) //var_dump($line);
if (is_array($extralabelslines) && count($extralabelslines) > 0) {
$colspan = 5; $colspan = 5;
if ($conf->productbatch->enabled) { if ($conf->productbatch->enabled) {
$colspan += 3; $colspan += 3;
} }
$recLine = new CommandeFournisseurDispatch($db);
$srcLine = new CommandeFournisseurLigne($db); $srcLine = new CommandeFournisseurLigne($db);
$line = new CommandeFournisseurDispatch($db);
$extrafields->fetch_name_optionals_label($srcLine->table_element);
$extrafields->fetch_name_optionals_label($line->table_element);
$srcLine->id = $line->id; $srcLine->id = $line->id;
$srcLine->fetch_optionals(); // fetch extrafields also available in orderline $srcLine->fetch_optionals(); // fetch extrafields also available in orderline
$line->fetch_optionals();
if (empty($line->array_options) && !empty($dispatchLines[$indiceAsked]['array_options'])) { if (empty($recLine->array_options) && !empty($dispatchLines[$indiceAsked]['array_options'])) {
$line->array_options = $dispatchLines[$indiceAsked]['array_options']; $recLine->array_options = $dispatchLines[$indiceAsked]['array_options'];
} }
$line->array_options = array_merge($line->array_options, $srcLine->array_options); $recLine->array_options = array_merge($recLine->array_options, $srcLine->array_options);
print $line->showOptionals($extrafields, 'edit', array('style'=>'class="oddeven"', 'colspan'=>$colspan), $indiceAsked, '', 1); print $recLine->showOptionals($extrafields, 'edit', array('style'=>'class="oddeven"', 'colspan'=>$colspan), $indiceAsked, '', 1);
} }
$indiceAsked++; $indiceAsked++;