From fc34a273834e41f3c2a5a5e2a08182a3744e2637 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Sat, 28 Aug 2021 11:55:59 +1200 Subject: [PATCH] [REF] dev/core#2790 Initial creation of pdf trait Only one function copied over for now - setDefaultValues --- CRM/Activity/Form/Task/PDF.php | 11 ++----- CRM/Case/Form/Task/PDF.php | 12 ++------ CRM/Contact/Form/Task/PDF.php | 5 ++-- CRM/Contact/Form/Task/PDFTrait.php | 41 ++++++++++++++++++++++++++ CRM/Contribute/Form/Task/PDFLetter.php | 5 ++-- CRM/Core/Form/Task/PDFLetterCommon.php | 3 ++ CRM/Event/Form/Task/PDF.php | 11 ++----- CRM/Member/Form/Task/PDFLetter.php | 9 ------ 8 files changed, 57 insertions(+), 40 deletions(-) create mode 100644 CRM/Contact/Form/Task/PDFTrait.php diff --git a/CRM/Activity/Form/Task/PDF.php b/CRM/Activity/Form/Task/PDF.php index 1e21a8701e..f4ce766ea1 100644 --- a/CRM/Activity/Form/Task/PDF.php +++ b/CRM/Activity/Form/Task/PDF.php @@ -14,6 +14,8 @@ */ class CRM_Activity_Form_Task_PDF extends CRM_Activity_Form_Task { + use CRM_Contact_Form_Task_PDFTrait; + /** * Build all the data structures needed to build the form. */ @@ -22,15 +24,6 @@ class CRM_Activity_Form_Task_PDF extends CRM_Activity_Form_Task { CRM_Activity_Form_Task_PDFLetterCommon::preProcess($this); } - /** - * Set defaults for the pdf. - * - * @return array - */ - public function setDefaultValues() { - return CRM_Activity_Form_Task_PDFLetterCommon::setDefaultValues(); - } - /** * Build the form object. */ diff --git a/CRM/Case/Form/Task/PDF.php b/CRM/Case/Form/Task/PDF.php index 380892b15d..dc0feb9e1d 100644 --- a/CRM/Case/Form/Task/PDF.php +++ b/CRM/Case/Form/Task/PDF.php @@ -19,6 +19,9 @@ * This class provides the functionality to create PDF letter for a group of contacts. */ class CRM_Case_Form_Task_PDF extends CRM_Case_Form_Task { + + use CRM_Contact_Form_Task_PDFTrait; + /** * All the existing templates in the system. * @@ -40,15 +43,6 @@ class CRM_Case_Form_Task_PDF extends CRM_Case_Form_Task { $this->setContactIDs(); } - /** - * Set defaults for the pdf. - * - * @return array - */ - public function setDefaultValues() { - return CRM_Contact_Form_Task_PDFLetterCommon::setDefaultValues(); - } - /** * Build the form object. */ diff --git a/CRM/Contact/Form/Task/PDF.php b/CRM/Contact/Form/Task/PDF.php index 59b14006da..efcdb829e0 100644 --- a/CRM/Contact/Form/Task/PDF.php +++ b/CRM/Contact/Form/Task/PDF.php @@ -20,6 +20,8 @@ */ class CRM_Contact_Form_Task_PDF extends CRM_Contact_Form_Task { + use CRM_Contact_Form_Task_PDFTrait; + /** * All the existing templates in the system. * @@ -72,13 +74,12 @@ class CRM_Contact_Form_Task_PDF extends CRM_Contact_Form_Task { * Set default values for the form. */ public function setDefaultValues() { - $defaults = []; + $defaults = $this->getPDFDefaultValues(); if (isset($this->_activityId)) { $params = ['id' => $this->_activityId]; CRM_Activity_BAO_Activity::retrieve($params, $defaults); $defaults['html_message'] = $defaults['details'] ?? NULL; } - $defaults = $defaults + CRM_Contact_Form_Task_PDFLetterCommon::setDefaultValues(); return $defaults; } diff --git a/CRM/Contact/Form/Task/PDFTrait.php b/CRM/Contact/Form/Task/PDFTrait.php new file mode 100644 index 0000000000..2ebea6694d --- /dev/null +++ b/CRM/Contact/Form/Task/PDFTrait.php @@ -0,0 +1,41 @@ +getPDFDefaultValues(); + } + + /** + * Set default values. + */ + protected function getPDFDefaultValues(): array { + $defaultFormat = CRM_Core_BAO_PdfFormat::getDefaultValues(); + $defaultFormat['format_id'] = $defaultFormat['id']; + return $defaultFormat; + } + +} diff --git a/CRM/Contribute/Form/Task/PDFLetter.php b/CRM/Contribute/Form/Task/PDFLetter.php index 2c216ee0c8..de315c04b3 100644 --- a/CRM/Contribute/Form/Task/PDFLetter.php +++ b/CRM/Contribute/Form/Task/PDFLetter.php @@ -20,6 +20,8 @@ */ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task { + use CRM_Contact_Form_Task_PDFTrait; + /** * All the existing templates in the system. * @@ -55,7 +57,7 @@ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task { * @return array */ public function setDefaultValues() { - $defaults = []; + $defaults = $this->getPDFDefaultValues(); if (isset($this->_activityId)) { $params = ['id' => $this->_activityId]; CRM_Activity_BAO_Activity::retrieve($params, $defaults); @@ -64,7 +66,6 @@ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task { else { $defaults['thankyou_update'] = 1; } - $defaults = $defaults + CRM_Contact_Form_Task_PDFLetterCommon::setDefaultValues(); return $defaults; } diff --git a/CRM/Core/Form/Task/PDFLetterCommon.php b/CRM/Core/Form/Task/PDFLetterCommon.php index e3eae67808..9433cb7bbb 100644 --- a/CRM/Core/Form/Task/PDFLetterCommon.php +++ b/CRM/Core/Form/Task/PDFLetterCommon.php @@ -171,8 +171,11 @@ class CRM_Core_Form_Task_PDFLetterCommon { /** * Set default values. + * + * @deprecated */ public static function setDefaultValues() { + CRM_Core_Error::deprecatedFunctionWarning('no alternative'); $defaultFormat = CRM_Core_BAO_PdfFormat::getDefaultValues(); $defaultFormat['format_id'] = $defaultFormat['id']; return $defaultFormat; diff --git a/CRM/Event/Form/Task/PDF.php b/CRM/Event/Form/Task/PDF.php index 38b3ae049e..94efe16be3 100644 --- a/CRM/Event/Form/Task/PDF.php +++ b/CRM/Event/Form/Task/PDF.php @@ -23,6 +23,8 @@ */ class CRM_Event_Form_Task_PDF extends CRM_Event_Form_Task { + use CRM_Contact_Form_Task_PDFTrait; + /** * Are we operating in "single mode", i.e. printing letter to one * specific participant? @@ -67,15 +69,6 @@ class CRM_Event_Form_Task_PDF extends CRM_Event_Form_Task { CRM_Contact_Form_Task_PDFLetterCommon::postProcess($this); } - /** - * Set default values for the form. - * - * @return void - */ - public function setDefaultValues() { - return CRM_Contact_Form_Task_PDFLetterCommon::setDefaultValues(); - } - /** * List available tokens for this form. * diff --git a/CRM/Member/Form/Task/PDFLetter.php b/CRM/Member/Form/Task/PDFLetter.php index 3d6019a476..fef15f13d8 100644 --- a/CRM/Member/Form/Task/PDFLetter.php +++ b/CRM/Member/Form/Task/PDFLetter.php @@ -44,15 +44,6 @@ class CRM_Member_Form_Task_PDFLetter extends CRM_Member_Form_Task { CRM_Contact_Form_Task_PDFLetterCommon::preProcess($this); } - /** - * Set defaults. - * (non-PHPdoc) - * @see CRM_Core_Form::setDefaultValues() - */ - public function setDefaultValues() { - return CRM_Contact_Form_Task_PDFLetterCommon::setDefaultValues(); - } - /** * Build the form object. * -- 2.25.1