diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index 87e2fea156c91de0603b342d1d4f6316c8b08d70..8e4e05037a8cc9e7eb9611237f3edcb92e05c573 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -36,7 +36,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; /** * Classe de gestion des factures recurrentes/Modeles */ -class FactureRec extends Facture +class FactureRec extends CommonInvoice { public $element='facturerec'; public $table_element='facture_rec'; 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 b1ce455445952849802cefa1a3f28cd7bb6ac83a..dfdc17b81ce06b40abd12c8a199cea4bc14a53f1 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 @@ -484,6 +484,22 @@ class doc_generic_project_odt extends ModelePDFProjects dol_mkdir($conf->projet->dir_temp); + // If PROJECTLEADER contact defined on project, we use it + $usecontact=false; + $arrayidcontact=$object->getIdContact('external','PROJECTLEADER'); + if (count($arrayidcontact) > 0) + { + $usecontact=true; + $result=$object->fetch_contact($arrayidcontact[0]); + } + + // Recipient name + if (! empty($usecontact)) + { + // if we have a PROJECTLEADER contact and we dont use it as recipient we store the contact object for later use + $contactobject = $object->contact; + } + $socobject=$object->thirdparty; // Make substitution @@ -529,8 +545,12 @@ class doc_generic_project_odt extends ModelePDFProjects $array_thirdparty=$this->get_substitutionarray_thirdparty($socobject,$outputlangs); $array_objet=$this->get_substitutionarray_object($object,$outputlangs); $array_other=$this->get_substitutionarray_other($outputlangs); + // retrieve contact information for use in project as contact_xxx tags + $array_project_contact = array(); + if ($usecontact) + $array_project_contact=$this->get_substitutionarray_contact($contactobject,$outputlangs,'contact'); - $tmparray = array_merge($array_user,$array_soc,$array_thirdparty,$array_objet,$array_other); + $tmparray = array_merge($array_user,$array_soc,$array_thirdparty,$array_objet,$array_other,$array_project_contact); complete_substitutions_array($tmparray, $outputlangs, $object); // Call the ODTSubstitution hook $parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray); diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php index 0faf21c1cc23e515753b289b33ff87430370d189..f3f58c1711903114b6d66b0ad6c4cbe1315e882c 100644 --- a/htdocs/projet/tasks/contact.php +++ b/htdocs/projet/tasks/contact.php @@ -492,6 +492,13 @@ if ($id > 0 || ! empty($ref)) } } +if (is_object($hookmanager)) +{ + $hookmanager->initHooks(array('contacttpl')); + $parameters=array(); + $reshook=$hookmanager->executeHooks('formContactTpl',$parameters,$object,$action); +} + llxFooter();