From 72160deef706cec0bbee60713d49aaccd17ebf3f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 1 Nov 2020 17:01:26 +0100 Subject: [PATCH] FIX #14979 --- htdocs/compta/facture/card.php | 1 + htdocs/compta/facture/class/facture.class.php | 11 +++++------ htdocs/core/actions_addupdatedelete.inc.php | 1 + .../modules/bom/doc/doc_generic_bom_odt.modules.php | 2 ++ .../commande/doc/doc_generic_order_odt.modules.php | 2 ++ .../contract/doc/doc_generic_contract_odt.modules.php | 2 ++ .../doc/doc_generic_shipment_odt.modules.php | 2 ++ .../facture/doc/doc_generic_invoice_odt.modules.php | 2 ++ .../modules/mrp/doc/doc_generic_mo_odt.modules.php | 2 ++ .../project/doc/doc_generic_project_odt.modules.php | 2 ++ .../propale/doc/doc_generic_proposal_odt.modules.php | 4 +++- .../doc/doc_generic_reception_odt.modules.php | 2 ++ .../doc/doc_generic_supplier_proposal_odt.modules.php | 2 ++ .../modules/user/doc/doc_generic_user_odt.modules.php | 2 ++ 14 files changed, 30 insertions(+), 7 deletions(-) diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 9118944d9f9..93ce8bc0f5f 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -717,6 +717,7 @@ if (empty($reshook)) $outputlangs->load('products'); } $model = $object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records $result = $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 2e66cd0d240..8a2c75037ba 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -2523,7 +2523,7 @@ class Facture extends CommonInvoice $this->db->begin(); // Check parameters - if ($this->type == self::TYPE_REPLACEMENT) // si facture de remplacement + if ($this->type == self::TYPE_REPLACEMENT) // if this is a replacement invoice { // Controle que facture source connue if ($this->fk_facture_source <= 0) @@ -2533,7 +2533,7 @@ class Facture extends CommonInvoice return -10; } - // Charge la facture source a remplacer + // Load source invoice that has been replaced $facreplaced = new Facture($this->db); $result = $facreplaced->fetch($this->fk_facture_source); if ($result <= 0) @@ -2543,7 +2543,7 @@ class Facture extends CommonInvoice return -11; } - // Controle que facture source non deja remplacee par une autre + // Check that source invoice not already replaced by another one. $idreplacement = $facreplaced->getIdReplacingInvoice('validated'); if ($idreplacement && $idreplacement != $this->id) { @@ -4397,15 +4397,14 @@ class Facture extends CommonInvoice * @param int $hidedetails Hide details of lines * @param int $hidedesc Hide description * @param int $hideref Hide ref - * @param null|array $moreparams Array to provide more information + * @param null|array $moreparams Array to provide more information * @return int <0 if KO, >0 if OK */ public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf, $langs; - $langs->load("bills"); - $outputlangs->load("products"); + $outputlangs->loadLangs(array("bills", "products")); if (!dol_strlen($modele)) { diff --git a/htdocs/core/actions_addupdatedelete.inc.php b/htdocs/core/actions_addupdatedelete.inc.php index 3091b77f0a4..bb648a71625 100644 --- a/htdocs/core/actions_addupdatedelete.inc.php +++ b/htdocs/core/actions_addupdatedelete.inc.php @@ -320,6 +320,7 @@ if ($action == 'confirm_validate' && $confirm == 'yes' && $permissiontoadd) $outputlangs->setDefaultLang($newlang); } $model = $object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); diff --git a/htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php b/htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php index 9755369793e..d4929e8feb1 100644 --- a/htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php +++ b/htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php @@ -237,6 +237,8 @@ class doc_generic_bom_odt extends ModelePDFBom } } + $object->fetch_thirdparty(); + $dir = $conf->bom->multidir_output[isset($object->entity) ? $object->entity : 1]; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index 75c5103c4ab..dc137609df7 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -249,6 +249,8 @@ class doc_generic_order_odt extends ModelePDFCommandes } } + $object->fetch_thirdparty(); + $dir = $conf->commande->multidir_output[$object->entity]; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; diff --git a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php index c938f40cfb2..f16c9147b36 100644 --- a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php +++ b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php @@ -235,6 +235,8 @@ class doc_generic_contract_odt extends ModelePDFContract } } + $object->fetch_thirdparty(); + $dir = $conf->contrat->dir_output; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; 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 1ea817709e1..8b255e146d5 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 @@ -249,6 +249,8 @@ class doc_generic_shipment_odt extends ModelePdfExpedition } } + $object->fetch_thirdparty(); + $dir = $conf->expedition->dir_output."/sending"; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; 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 acbebd54da8..ab5edb23733 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 @@ -248,6 +248,8 @@ class doc_generic_invoice_odt extends ModelePDFFactures } } + $object->fetch_thirdparty(); + $dir = $conf->facture->dir_output; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; diff --git a/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php b/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php index e276fe1f5f7..9e82b38ad10 100644 --- a/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php +++ b/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php @@ -244,6 +244,8 @@ class doc_generic_mo_odt extends ModelePDFMo } } + $object->fetch_thirdparty(); + $dir = $conf->mrp->multidir_output[isset($object->entity) ? $object->entity : 1]; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; diff --git a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php index 542ea728f84..972c6c8d472 100644 --- a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php +++ b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php @@ -513,6 +513,8 @@ class doc_generic_project_odt extends ModelePDFProjects } } + $object->fetch_thirdparty(); + $dir = $conf->projet->dir_output; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; diff --git a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php index 33850c5d882..46262b72b62 100644 --- a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php +++ b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php @@ -227,7 +227,7 @@ class doc_generic_proposal_odt extends ModelePDFPropales /** * Function to build a document on disk using the generic odt module. * - * @param Propale $object Object source to build document + * @param Propal $object Object source to build document * @param Translate $outputlangs Lang output object * @param string $srctemplatepath Full path of source filename for generator using a template file * @param int $hidedetails Do not show line details @@ -277,6 +277,8 @@ class doc_generic_proposal_odt extends ModelePDFPropales } } + $object->fetch_thirdparty(); + $dir = $conf->propal->multidir_output[$object->entity]; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; diff --git a/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php b/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php index 89a532c2556..8b85854b753 100644 --- a/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php +++ b/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php @@ -241,6 +241,8 @@ class doc_generic_reception_odt extends ModelePdfReception } } + $object->fetch_thirdparty(); + $dir = $conf->reception->dir_output."/reception"; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; diff --git a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php index c97d2f94d63..f3a16422433 100644 --- a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php @@ -275,6 +275,8 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal } } + $object->fetch_thirdparty(); + $dir = $conf->supplier_proposal->dir_output; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref; diff --git a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php index 881ba4cb469..b01352b12bd 100644 --- a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php +++ b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php @@ -257,6 +257,8 @@ class doc_generic_user_odt extends ModelePDFUser } } + $object->fetch_thirdparty(); + $dir = $conf->user->dir_output; $objectref = dol_sanitizeFileName($object->ref); if (!preg_match('/specimen/i', $objectref)) $dir .= "/".$objectref;