diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php
index 1babc31b4c2..9800f09b1f8 100644
--- a/htdocs/core/lib/pdf.lib.php
+++ b/htdocs/core/lib/pdf.lib.php
@@ -2122,7 +2122,7 @@ function pdf_getTotalQty($object, $type, $outputlangs)
* @param Translate $outputlangs Object lang for output
* @return array Linked objects
*/
-function pdf_getLinkedObjects($object, $outputlangs)
+function pdf_getLinkedObjects(&$object, $outputlangs)
{
global $db, $hookmanager;
@@ -2151,13 +2151,22 @@ function pdf_getLinkedObjects($object, $outputlangs)
elseif ($objecttype == 'commande' || $objecttype == 'supplier_order')
{
$outputlangs->load('orders');
- foreach ($objects as $elementobject)
- {
- $linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder");
+
+ if(count($objects) > 1) {
+ $object->note_public .= '
'.$outputlangs->transnoentities("RefOrder").' :
';
+ foreach($objects as $elementobject) {
+ $object->note_public .= $outputlangs->transnoentities($elementobject->ref).($elementobject->ref_client ? ' ('.$elementobject->ref_client.')' : '').($elementobject->ref_supplier ? ' ('.$elementobject->ref_supplier.')' : '').' ';
+ $object->note_public .= $outputlangs->transnoentities("OrderDate").' : ';
+ $object->note_public .= dol_print_date($elementobject->date, 'day', '', $outputlangs);
+ $object->note_public .= '
';
+ }
+ } else if(count($objects) == 1) {
+ $elementobject = array_shift($objects);
+ $linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder");
$linkedobjects[$objecttype]['ref_value'] = $outputlangs->transnoentities($elementobject->ref).($elementobject->ref_client ? ' ('.$elementobject->ref_client.')' : '').($elementobject->ref_supplier ? ' ('.$elementobject->ref_supplier.')' : '');
$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("OrderDate");
$linkedobjects[$objecttype]['date_value'] = dol_print_date($elementobject->date, 'day', '', $outputlangs);
- }
+ }
}
elseif ($objecttype == 'contrat')
{
@@ -2183,43 +2192,72 @@ function pdf_getLinkedObjects($object, $outputlangs)
}
elseif ($objecttype == 'shipping')
{
- $outputlangs->loadLangs(array("orders", "sendings"));
+ $outputlangs->loadLangs(array("orders", "sendings"));
- foreach ($objects as $x => $elementobject)
- {
- $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(null, '', null, '', 'OR', 1, 'sourcetype', 0);
- if (! empty($elementobject->linkedObjectsIds['commande'])){
- include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
- $order = new Commande($db);
- $ret = $order->fetch(reset($elementobject->linkedObjectsIds['commande']));
- if ($ret < 1) { $order=null; }
- }
- }
- 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("DateShipment");
- //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("DateShipment") : '');
- //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) : '');
- }
- }
- }
- }
+ if(count($objects) > 1) {
+
+ $order = null;
+ if(empty($object->linkedObjects['commande']) && $object->element != 'commande') $object->note_public .= '
'.$outputlangs->transnoentities("RefOrder").' / '.$outputlangs->transnoentities("RefSending").' :
';
+ else $object->note_public .= '
'.$outputlangs->transnoentities("RefSending").' :
';
+ // We concat this record info into fields xxx_value. title is overwrote.
+ foreach($objects as $elementobject) {
+ 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(null, '', null, '', 'OR', 1, 'sourcetype', 0);
+ if(! empty($elementobject->linkedObjectsIds['commande'])) {
+ include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
+ $order = new Commande($db);
+ $ret = $order->fetch(reset($elementobject->linkedObjectsIds['commande']));
+ if($ret < 1) {
+ $order = null;
+ }
+ }
+ }
+
+ if(! is_object($order)) {
+
+ $object->note_public .= $outputlangs->transnoentities($elementobject->ref);
+ $object->note_public .= '
';
+ }
+
+ else {
+
+ $object->note_public .= $outputlangs->convToOutputCharset($order->ref).($order->ref_client ? ' ('.$order->ref_client.')' : '');
+ $object->note_public .= ' / '.$outputlangs->transnoentities($elementobject->ref);
+ $object->note_public .= '
';
+ }
+ }
+ }
+ else if(count($objects) == 1) {
+ $elementobject = array_shift($objects);
+ $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(null, '', null, '', 'OR', 1, 'sourcetype', 0);
+ if(! empty($elementobject->linkedObjectsIds['commande'])) {
+ include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
+ $order = new Commande($db);
+ $ret = $order->fetch(reset($elementobject->linkedObjectsIds['commande']));
+ if($ret < 1) {
+ $order = null;
+ }
+ }
+ }
+
+ 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);
+ }
+ 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);
+ }
+ }
+ }
+ }
// For add external linked objects
if (is_object($hookmanager))