diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index 9c45c135ac3..73fc323c198 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -275,9 +275,9 @@ class doc_generic_shipment_odt extends ModelePdfExpedition dol_mkdir($conf->expedition->dir_temp); - // If BILLING contact defined on invoice, we use it + // If SHIPMENT contact defined on invoice, we use it $usecontact=false; - $arrayidcontact=$object->getIdContact('external','BILLING'); + $arrayidcontact=$object->getIdContact('external','SHIPPING'); if (count($arrayidcontact) > 0) { $usecontact=true; @@ -285,24 +285,27 @@ class doc_generic_shipment_odt extends ModelePdfExpedition } // Recipient name - if (! empty($usecontact)) - { + $contactobject = null; + if (! empty($usecontact)) { // On peut utiliser le nom de la societe du contact - if (! empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)) $socobject = $object->contact; - else $socobject = $object->thirdparty; - } - else - { - $socobject=$object->thirdparty; + if (! empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)) + $socobject = $object->contact; + else { + $socobject = $object->thirdparty; + // if we have a SHIIPPING contact and we dont use it as recipient we store the contact object for later use + $contactobject = $object->contact; + } + } else { + $socobject = $object->thirdparty; } // Make substitution $substitutionarray=array( - '__FROM_NAME__' => $this->emetteur->name, - '__FROM_EMAIL__' => $this->emetteur->email, - '__TOTAL_TTC__' => $object->total_ttc, - '__TOTAL_HT__' => $object->total_ht, - '__TOTAL_VAT__' => $object->total_vat + '__FROM_NAME__' => $this->emetteur->name, + '__FROM_EMAIL__' => $this->emetteur->email, + '__TOTAL_TTC__' => $object->total_ttc, + '__TOTAL_HT__' => $object->total_ht, + '__TOTAL_VAT__' => $object->total_vat ); complete_substitutions_array($substitutionarray, $langs, $object); // Call the ODTSubstitution hook @@ -411,6 +414,28 @@ class doc_generic_shipment_odt extends ModelePdfExpedition { } } + + if ($usecontact && is_object($contactobject)) { + $tmparray=$this->get_substitutionarray_contact($contactobject,$outputlangs,'contact'); + foreach($tmparray as $key=>$value) + { + try { + if (preg_match('/logo$/',$key)) // Image + { + if (file_exists($value)) $odfHandler->setImage($key, $value); + else $odfHandler->setVars($key, 'ErrorFileNotFound', true, 'UTF-8'); + } + else // Text + { + $odfHandler->setVars($key, $value, true, 'UTF-8'); + } + } + catch(OdfException $e) + { + } + } + } + // Replace tags of object + external modules $tmparray=$this->get_substitutionarray_shipment($object,$outputlangs); complete_substitutions_array($tmparray, $outputlangs, $object); diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index 7c62bf1e300..8bf2a87efe4 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -286,20 +286,18 @@ class doc_generic_invoice_odt extends ModelePDFFactures } // Recipient name - $contactobject=null; - if (! empty($usecontact)) - { + $contactobject = null; + if (! empty($usecontact)) { // On peut utiliser le nom de la societe du contact - if (! empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)) $socobject = $object->contact; + if (! empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)) + $socobject = $object->contact; else { - $socobject = $object->thirdparty; - // if we have a BILLING contact and we dont use it as recipient we store the contact object for later use - $contactobject = $object->contact; - } - } - else - { - $socobject=$object->thirdparty; + $socobject = $object->thirdparty; + // if we have a BILLING contact and we dont use it as recipient we store the contact object for later use + $contactobject = $object->contact; + } + } else { + $socobject = $object->thirdparty; } // Fetch info for linked propal diff --git a/htdocs/install/doctemplates/shipment/template_shipment.odt b/htdocs/install/doctemplates/shipment/template_shipment.odt old mode 100644 new mode 100755 index 100afe5dac4..a7076fd0e00 Binary files a/htdocs/install/doctemplates/shipment/template_shipment.odt and b/htdocs/install/doctemplates/shipment/template_shipment.odt differ