From 4250fe155ac46b9b146c9d655e62f1ca2eb82c36 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 26 Feb 2016 15:42:07 +0100 Subject: [PATCH] Fix showing ref of shipment on orders (lines too long) --- htdocs/core/lib/pdf.lib.php | 50 +++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index ad584e21d86..09c8acb5b38 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -1879,31 +1879,33 @@ function pdf_getLinkedObjects($object,$outputlangs) { $outputlangs->load('orders'); $outputlangs->load('sendings'); - foreach($objects as $elementobject) + foreach($objects as $x => $elementobject) { - $elementobject->fetchObjectLinked(); - - if (isset($elementobject->linkedObjects['commande']) && count($elementobject->linkedObjects['commande']) > 0) - { - $order = reset($elementobject->linkedObjects['commande']); // Get first order - - if (! empty($object->linkedObjects['commande'])) // There is already a link to order so we show only info of shipment - { - $linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefSending"); - $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 - { - $linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder") . ' / ' . $outputlangs->transnoentities("RefSending"); - $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); - $linkedobjects[$objecttype]['date_value'].= ($elementobject->date_delivery ? ' / ' . dol_print_date($elementobject->date_delivery,'day','',$outputlangs) : ''); - } - } + $order=null; + // We concat this record info into fields xxx_value. title is overwrote. + if (empty($object->linkedObjects['commande']) && $object->element != 'commande') // There is not already a link to order and object is not the order, so we show also info with order + { + $elementobject->fetchObjectLinked(); + if (! empty($elementobject->linkedObjects['commande'])) $order = reset($elementobject->linkedObjects['commande']); + } + if (! is_object($order)) + { + $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"); + //if (! empty($linkedobjects[$objecttype]['date_value'])) $linkedobjects[$objecttype]['date_value'].=' / '; + //$linkedobjects[$objecttype]['date_value'].= dol_print_date($elementobject->date_delivery,'day','',$outputlangs); + } + else + { + $linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder") . ' / ' . $outputlangs->transnoentities("RefSending"); + 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") : ''); + //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) : ''); + } } } }