ActionMapping - Allow getDateFields to filter by entity_value
authorcolemanw <coleman@civicrm.org>
Sun, 6 Aug 2023 15:21:03 +0000 (11:21 -0400)
committercolemanw <coleman@civicrm.org>
Thu, 10 Aug 2023 00:04:34 +0000 (20:04 -0400)
CRM/Activity/ActionMapping.php
CRM/Contact/ActionMapping.php
CRM/Contribute/ActionMapping.php
CRM/Event/ActionMapping.php
CRM/Member/ActionMapping.php
Civi/ActionSchedule/MappingBase.php
Civi/ActionSchedule/MappingInterface.php

index 6d9800e37932391f68670cfff0f4c5e103d500f6..04a0a41f86370ae864f159e4beaef2a727f90619 100644 (file)
@@ -60,7 +60,7 @@ class CRM_Activity_ActionMapping extends \Civi\ActionSchedule\MappingBase {
     return CRM_Core_PseudoConstant::activityStatus();
   }
 
-  public function getDateFields(): array {
+  public function getDateFields(?array $entityValue = NULL): array {
     return [
       'activity_date_time' => ts('Activity Date'),
     ];
index 52dea49e973ad570ef06d4b8a15544a0a40dd813..440d9fdde0b1338f589566fd89c4ad82bdd73db5 100644 (file)
@@ -65,7 +65,7 @@ class CRM_Contact_ActionMapping extends \Civi\ActionSchedule\MappingBase {
     return CRM_Core_OptionGroup::values('contact_date_reminder_options');
   }
 
-  public function getDateFields(): array {
+  public function getDateFields(?array $entityValue = NULL): array {
     return [
       'date_field' => ts('Date Field'),
     ];
index c986a140516a78a43cdd0dc3d80ac64d63f17cdd..625fc1af586e023aecc2bd7f43841b759ef170b9 100644 (file)
@@ -40,7 +40,7 @@ abstract class CRM_Contribute_ActionMapping extends \Civi\ActionSchedule\Mapping
     return CRM_Contribute_BAO_Contribution::buildOptions('contribution_status_id', 'get', []);
   }
 
-  public function getDateFields(): array {
+  public function getDateFields(?array $entityValue = NULL): array {
     return [
       'receive_date' => ts('Receive Date'),
       'cancel_date' => ts('Cancel Date'),
index 7e9acad3ba9d1fd8f6b218a43d04c0242a4490af..8049942cfb21fbccc44fbb236cb325f20a51cd25 100644 (file)
@@ -43,13 +43,7 @@ abstract class CRM_Event_ActionMapping extends \Civi\ActionSchedule\MappingBase
     return CRM_Event_PseudoConstant::participantStatus(NULL, NULL, 'label');
   }
 
-  /**
-   * Get a list of available date fields.
-   *
-   * @return array
-   *   Array(string $fieldName => string $fieldLabel).
-   */
-  public function getDateFields(): array {
+  public function getDateFields(?array $entityValue = NULL): array {
     return [
       'start_date' => ts('Event Start'),
       'end_date' => ts('Event End'),
index 1d5a50aaa8d47cfd9c2771b24aa2a9d93c47aa4d..937786130551a21ddfc6365200994a1cdd77ccb0 100644 (file)
@@ -55,13 +55,7 @@ class CRM_Member_ActionMapping extends \Civi\ActionSchedule\MappingBase {
     return [];
   }
 
-  /**
-   * Get a list of available date fields.
-   *
-   * @return array
-   *   Array(string $fieldName => string $fieldLabel).
-   */
-  public function getDateFields(): array {
+  public function getDateFields(?array $entityValue = NULL): array {
     return [
       'join_date' => ts('Member Since'),
       'start_date' => ts('Membership Start Date'),
index cf68b80e2b0832c6ccc8d096e0135ae8b4f9d042..76c37839a53fe9039a8f380d143af32a1fc5b9b5 100644 (file)
@@ -89,7 +89,7 @@ abstract class MappingBase extends AutoSubscriber implements MappingInterface {
     return FALSE;
   }
 
-  public function getDateFields(): array {
+  public function getDateFields(?array $entityValue = NULL): array {
     return [];
   }
 
index 2f6f75b72150a8bf48ac0c92749c4e61254aa5f4..610e14598ce36c667f83f5533f92867cb5023de6 100644 (file)
@@ -68,12 +68,13 @@ interface MappingInterface extends SpecProviderInterface {
   public function getStatusLabels(?array $entityValue): array;
 
   /**
-   * Get a list of available date fields.
+   * Get option list for `start_action_date` & `end_date` fields.
    *
+   * @param array|null $entityValue
+   *   Selected value(s) of the `entity_value` field.
    * @return array
-   *   Array(string $fieldName => string $fieldLabel).
    */
-  public function getDateFields(): array;
+  public function getDateFields(?array $entityValue = NULL): array;
 
   /**
    * Get the option list for `limit_to` (non-associative format)