FIX Array of linked elements for PDF contains duplicates and missing

data
This commit is contained in:
Laurent Destailleur 2016-02-25 18:18:00 +01:00
parent 8927948bef
commit 7fc58ddabc

View File

@ -1846,10 +1846,10 @@ function pdf_getLinkedObjects($object,$outputlangs)
$linkedobjects=array();
$object->fetchObjectLinked();
foreach($object->linkedObjects as $objecttype => $objects)
{
if ($objecttype == 'propal')
if ($objecttype == 'propal')
{
$outputlangs->load('propal');
@ -1887,26 +1887,28 @@ function pdf_getLinkedObjects($object,$outputlangs)
{
$outputlangs->load('orders');
$outputlangs->load('sendings');
foreach($objects as $elementobject)
foreach($objects as $x => $elementobject)
{
$elementobject->fetchObjectLinked();
$order = reset($elementobject->linkedObjects['commande']);
if (! empty($object->linkedObjects['commande'])) // There is already a link to order so we show only info of shipment
// We concat this record info into fields xxx_value. title is overwrote.
if (! empty($object->linkedObjects['commande']) || $object->element == 'commande') // There is already a link to order or object is the order, so we show only info of shipment
{
$linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefSending");
if (! empty($linkedobjects[$objecttype]['ref_value'])) $linkedobjects[$objecttype]['ref_value'].=' / ';
$linkedobjects[$objecttype]['ref_value'].= $outputlangs->transnoentities($elementobject->ref);
$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("DateSending");
$linkedobjects[$objecttype]['date_value'].= dol_print_date($elementobject->date_delivery,'day','',$outputlangs);
}
else // We show both info of order and shipment
else // We show both info of order and shipment.
{
$linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder") . ' / ' . $outputlangs->transnoentities("RefSending");
$linkedobjects[$objecttype]['ref_value'] = $outputlangs->convToOutputCharset($order->ref) . ($order->ref_client ? ' ('.$order->ref_client.')' : '');
if (empty($linkedobjects[$objecttype]['ref_value'])) $linkedobjects[$objecttype]['ref_value'] = $outputlangs->convToOutputCharset($order->ref) . ($order->ref_client ? ' ('.$order->ref_client.')' : '');
$linkedobjects[$objecttype]['ref_value'].= ' / ' . $outputlangs->transnoentities($elementobject->ref);
$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("OrderDate") . ($elementobject->date_delivery ? ' / ' . $outputlangs->transnoentities("DateSending") : '');
$linkedobjects[$objecttype]['date_value'] = dol_print_date($order->date,'day','',$outputlangs);
if (empty($linkedobjects[$objecttype]['date_value'])) $linkedobjects[$objecttype]['date_value'] = dol_print_date($order->date,'day','',$outputlangs);
$linkedobjects[$objecttype]['date_value'].= ($elementobject->date_delivery ? ' / ' . dol_print_date($elementobject->date_delivery,'day','',$outputlangs) : '');
}
}