Skip to content
Snippets Groups Projects
Commit a341edf6 authored by Eileen McNaughton's avatar Eileen McNaughton
Browse files

[REF] Follow on on code move, make not static

parent 3b943db7
No related branches found
No related tags found
No related merge requests found
......@@ -70,28 +70,29 @@ class CRM_Member_Form_Task_PDFLetter extends CRM_Member_Form_Task {
$this->setContactIDs();
$skipOnHold = $this->skipOnHold ?? FALSE;
$skipDeceased = $this->skipDeceased ?? TRUE;
self::postProcessMembers(
$this, $this->_memberIds, $skipOnHold, $skipDeceased, $this->_contactIds
);
$this->postProcessMembers($this->_memberIds, $skipOnHold, $skipDeceased, $this->_contactIds);
}
/**
* Process the form after the input has been submitted and validated.
* @todo this is horrible copy & paste code because there is so much risk of breakage
* in fixing the existing pdfLetter classes to be suitably generic
*
* @param CRM_Core_Form $form
* @param $membershipIDs
* @param $skipOnHold
* @param $skipDeceased
* @param $contactIDs
*
* @throws \CRM_Core_Exception
* @todo this is horrible copy & paste code because there is so much risk of breakage
* in fixing the existing pdfLetter classes to be suitably generic
*
*/
public static function postProcessMembers(&$form, $membershipIDs, $skipOnHold, $skipDeceased, $contactIDs) {
public function postProcessMembers($membershipIDs, $skipOnHold, $skipDeceased, $contactIDs) {
$form = $this;
$formValues = $form->controller->exportValues($form->getName());
list($formValues, $categories, $html_message, $messageToken, $returnProperties) = CRM_Contact_Form_Task_PDFLetterCommon::processMessageTemplate($formValues);
[$formValues, $categories, $html_message, $messageToken, $returnProperties] = CRM_Contact_Form_Task_PDFLetterCommon::processMessageTemplate($formValues);
$html
= self::generateHTML(
= $this->generateHTML(
$membershipIDs,
$returnProperties,
$skipOnHold,
......@@ -120,6 +121,8 @@ class CRM_Member_Form_Task_PDFLetter extends CRM_Member_Form_Task {
/**
* Generate html for pdf letters.
*
* @internal
*
* @param array $membershipIDs
* @param array $returnProperties
* @param bool $skipOnHold
......@@ -130,7 +133,7 @@ class CRM_Member_Form_Task_PDFLetter extends CRM_Member_Form_Task {
*
* @return array
*/
public static function generateHTML($membershipIDs, $returnProperties, $skipOnHold, $skipDeceased, $messageToken, $html_message, $categories) {
public function generateHTML($membershipIDs, $returnProperties, $skipOnHold, $skipDeceased, $messageToken, $html_message, $categories) {
$memberships = CRM_Utils_Token::getMembershipTokenDetails($membershipIDs);
$html = [];
......@@ -141,7 +144,7 @@ class CRM_Member_Form_Task_PDFLetter extends CRM_Member_Form_Task {
$params = ['contact_id' => $contactId];
//getTokenDetails is much like calling the api contact.get function - but - with some minor
// special handlings. It precedes the existence of the api
list($contacts) = CRM_Utils_Token::getTokenDetails(
[$contacts] = CRM_Utils_Token::getTokenDetails(
$params,
$returnProperties,
$skipOnHold,
......
......@@ -22,7 +22,7 @@ class CRM_Member_Form_Task_LabelTest extends CiviUnitTestCase {
* This is a 'no error' test to support refactoring. It ensures no fatal is hit & lays
* the basis for more tests later.
*/
public function testMembershipTokenReplacementInPDF() {
public function testMembershipTokenReplacementInPDF(): void {
// First check tasks are there is some weird static caching that could mess us up.
$tasks = CRM_Member_Task::tasks();
$this->assertArrayHasKey(201, $tasks, print_r($tasks, TRUE));
......
......@@ -27,9 +27,9 @@ class CRM_Member_Form_Task_PDFLetterCommonTest extends CiviUnitTestCase {
/**
* Test token replacement for Print/Merge Task
*/
public function testMembershipTokenReplacementInPDF() {
public function testMembershipTokenReplacementInPDF(): void {
$membershipIds = $returnProperties = $categories = $expected = [];
list($tokens, $htmlMessage) = self::getSampleHTML();
[$tokens, $htmlMessage] = self::getSampleHTML();
$membershipDates = [
date('Y-m-d'),
......@@ -71,7 +71,8 @@ class CRM_Member_Form_Task_PDFLetterCommonTest extends CiviUnitTestCase {
}
}
$messageToken = CRM_Utils_Token::getTokens($htmlMessage);
$testHTML = CRM_Member_Form_Task_PDFLetter::generateHTML($membershipIds,
$form = new CRM_Member_Form_Task_PDFLetter();
$testHTML = $form->generateHTML($membershipIds,
$returnProperties,
NULL,
NULL,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment