update doc block, work on `PDFLetterCommonTest` unit test compatibility with `contact...
authorSamuele Masetto <samuele.masetto@gmail.com>
Mon, 24 Jan 2022 13:35:23 +0000 (14:35 +0100)
committerSamuele Masetto <samuele.masetto@gmail.com>
Mon, 24 Jan 2022 13:35:23 +0000 (14:35 +0100)
CRM/Contribute/Form/Task/PDFLetter.php
CRM/Utils/Mail.php
tests/events/hook_civicrm_alterMailParams.evch.php
tests/phpunit/CRM/Contribute/Form/Task/PDFLetterCommonTest.php

index 00e47388975e11515dc5fc5ed83b05735e1d2064..a01c6fc8d18d1dc6db928e7d76f0612880364a20 100644 (file)
@@ -465,7 +465,7 @@ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task {
       }
 
       $defaults = [
-        'contact_id' => $contact['id'],
+        'contactId' => $contact['id'],
         'toName' => $contact['display_name'],
         'toEmail' => $contact['email'],
         'text' => '',
index 2043f9494dfb6f58cbbd9d46e8737700444e1bd0..65d4df06d9f31e641fc98d7bc4d9c0aede37d73c 100644 (file)
@@ -159,6 +159,7 @@ class CRM_Utils_Mail {
    *   fullPath : complete pathname to the file
    *   mime_type: mime type of the attachment
    *   cleanName: the user friendly name of the attachmment
+   * contactId : contact id to send the email to (optional)
    *
    * @param array $params
    *   (by reference).
index a5b69122f3c1edcc212bc25a9c5baeca6652a461..cc331f1aa254fd35201e3f2f1c835271304d037b 100644 (file)
@@ -27,6 +27,7 @@ return new class() extends EventCheck implements HookInterface {
     'autoSubmitted' => ['type' => 'bool', 'for' => 'messageTemplate'],
     'Message-ID' => ['type' => 'string', 'for' => ['messageTemplate', 'singleEmail']],
     'messageId' => ['type' => 'string', 'for' => ['messageTemplate', 'singleEmail']],
+    'contactId' => ['type' => 'int|NULL', 'for' => ['messageTemplate' /* deprecated in favor of tokenContext[contactId] */, 'singleEmail']],
 
     // ## Envelope: CiviMail/Flexmailer
 
@@ -49,7 +50,6 @@ return new class() extends EventCheck implements HookInterface {
 
     'tokenContext' => ['type' => 'array', 'for' => 'messageTemplate'],
     'tplParams' => ['type' => 'array', 'for' => 'messageTemplate'],
-    'contactId' => ['type' => 'int|NULL', 'for' => 'messageTemplate' /* deprecated in favor of tokenContext[contactId] */],
     'workflow' => [
       'regex' => '/^([a-zA-Z_]+)$/',
       'type' => 'string',
index 9dc66032a2fbc1ca1ae9ae22e0b3b25af9929b83..8bcc1826bfbef12be2aac44eaa4cfb6c85c59772 100644 (file)
@@ -39,6 +39,9 @@ class CRM_Contribute_Form_Task_PDFLetterCommonTest extends CiviUnitTestCase {
     parent::setUp();
     $this->_individualId = $this->individualCreate(['first_name' => 'Anthony', 'last_name' => 'Collins']);
     $this->_docTypes = CRM_Core_SelectValues::documentApplicationType();
+    $hooks = \CRM_Utils_Hook::singleton();
+    $hooks->setHook('civicrm_alterMailParams',
+      array($this, 'hook_alterMailParams'));
   }
 
   /**
@@ -680,4 +683,11 @@ value=$contact_aggregate+$contribution.total_amount}
     return $this->callAPISuccess('Contribution', 'create', $contributionParams)['id'];
   }
 
+  /**
+   * @see CRM_Utils_Hook::alterMailParams
+   */
+  public function hook_alterMailParams(&$params, $context = NULL) {
+    $this->assertTrue(isset($params['contactId']));
+  }
+
 }