Remove handling for empty required field
authorEileen McNaughton <emcnaughton@wikimedia.org>
Sun, 26 Sep 2021 03:55:20 +0000 (16:55 +1300)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Sun, 26 Sep 2021 07:03:48 +0000 (20:03 +1300)
From is a required field - remove code to handle it being empty

CRM/Contact/Form/Task/EmailTrait.php
tests/phpunit/CRM/Contribute/Form/Task/EmailTest.php

index 058eef3bf7c6daa8e7533e988329186e9090156c..10054718f55b8e650bfe17390204f3d7582cfc9b 100644 (file)
@@ -406,7 +406,7 @@ trait CRM_Contact_Form_Task_EmailTrait {
   public function submit($formValues): void {
     $this->saveMessageTemplate($formValues);
 
-    $from = $formValues['from_email_address'] ?? NULL;
+    $from = $formValues['from_email_address'];
     // dev/core#357 User Emails are keyed by their id so that the Signature is able to be added
     // If we have had a contact email used here the value returned from the line above will be the
     // numerical key where as $from for use in the sendEmail in Activity needs to be of format of "To Name" <toemailaddress>
@@ -790,7 +790,7 @@ trait CRM_Contact_Form_Task_EmailTrait {
    *   The subject of the message.
    * @param $text
    * @param $html
-   * @param string|null $from
+   * @param string $from
    * @param array|null $attachments
    *   The array of attachments if any.
    * @param string|null $cc
@@ -820,7 +820,7 @@ trait CRM_Contact_Form_Task_EmailTrait {
     $subject,
     $text,
     $html,
-    $from = NULL,
+    $from,
     $attachments = NULL,
     $cc = NULL,
     $bcc = NULL,
@@ -832,18 +832,6 @@ trait CRM_Contact_Form_Task_EmailTrait {
 
     $userID = CRM_Core_Session::getLoggedInContactID();
 
-    [$fromDisplayName, $fromEmail, $fromDoNotEmail] = CRM_Contact_BAO_Contact::getContactDetails($userID);
-    if (!$fromEmail) {
-      return [count($contactDetails), 0, count($contactDetails)];
-    }
-    if (!trim($fromDisplayName)) {
-      $fromDisplayName = $fromEmail;
-    }
-
-    if (!$from) {
-      $from = "$fromDisplayName <$fromEmail>";
-    }
-
     $contributionDetails = [];
     if (!empty($contributionIds)) {
       $contributionDetails = Contribution::get(FALSE)
index 9ad4974b9c8950a6039ed75615a9637ed84712f4..e3cdc9ffc7efe5b7e5ad8dc1230a3ce4ec073fb3 100644 (file)
@@ -39,12 +39,12 @@ class CRM_Contribute_Form_Task_EmailTest extends CiviUnitTestCase {
     $userID = $this->createLoggedInUser();
     $mut = new CiviMailUtils($this);
     Civi::settings()->set('allow_mail_from_logged_in_contact', TRUE);
-    $this->callAPISuccess('Email', 'create', [
+    $emailID = $this->callAPISuccess('Email', 'create', [
       'contact_id' => $userID,
       'email' => 'benny_jetts@example.com',
       'signature_html' => 'Benny, Benny',
       'is_primary' => 1,
-    ]);
+    ])['id'];
     $contribution1 = $this->contributionCreate(['contact_id' => $contact2, 'invoice_number' => 'soy']);
     $contribution2 = $this->contributionCreate(['total_amount' => 999, 'contact_id' => $contact1, 'invoice_number' => 'saucy']);
     $contribution3 = $this->contributionCreate(['total_amount' => 999, 'contact_id' => $contact1, 'invoice_number' => 'ranch']);
@@ -58,6 +58,7 @@ class CRM_Contribute_Form_Task_EmailTest extends CiviUnitTestCase {
       'subject' => '{contact.display_name} {contribution.total_amount}',
       'text_message' => '{contribution.financial_type_id:label} {contribution.invoice_number}',
       'html_message' => '{domain.name}',
+      'from_email_address' => $emailID,
     ], [], [
       'radio_ts' => 'ts_sel',
       'task' => CRM_Core_Task::TASK_EMAIL,