Fully deprecate legacy contributionTokens
authorEileen McNaughton <emcnaughton@wikimedia.org>
Mon, 6 Feb 2023 06:50:15 +0000 (19:50 +1300)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Mon, 6 Feb 2023 07:01:17 +0000 (20:01 +1300)
CRM/Core/SelectValues.php
tests/phpunit/CRM/Contribute/ActionMapping/ByTypeTest.php

index e42cacaca4d27ad9db4aba3f3c7f8ee50d57d832..9ebebe9e76520ddc1e0947f79e8ac66b24982560 100644 (file)
@@ -582,6 +582,7 @@ class CRM_Core_SelectValues {
    * @return array
    */
   public static function contributionTokens(): array {
+    CRM_Core_Error::deprecatedFunctionWarning('use the token processor');
     $tokenProcessor = new TokenProcessor(Civi::dispatcher(), ['schema' => ['contributionId']]);
     $allTokens = $tokenProcessor->listTokens();
     foreach (array_keys($allTokens) as $token) {
index f9d84519e8a9cad74417f53685abcd566bac8e19..e963b4ffeaff045cf9e6f1fa6627c344f669b9d5 100644 (file)
@@ -366,20 +366,6 @@ class CRM_Contribute_ActionMapping_ByTypeTest extends \Civi\ActionSchedule\Abstr
       }
     }
 
-    $tokens = [
-      'id',
-      'payment_instrument_id:label',
-      'financial_type_id:label',
-      'contribution_status_id:label',
-    ];
-    $legacyTokens = [];
-    $realLegacyTokens = [];
-    foreach (CRM_Core_SelectValues::contributionTokens() as $token => $label) {
-      $legacyTokens[substr($token, 14, -1)] = $label;
-      if (strpos($token, ':') === FALSE) {
-        $realLegacyTokens[substr($token, 14, -1)] = $label;
-      }
-    }
     $fields = (array) Contribution::getFields()->addSelect('name', 'title')->execute()->indexBy('name');
     $allFields = [];
     foreach ($fields as $field) {
@@ -389,7 +375,7 @@ class CRM_Contribute_ActionMapping_ByTypeTest extends \Civi\ActionSchedule\Abstr
     }
     // contact ID is skipped.
     unset($allFields['contact_id']);
-    $this->assertEquals($allFields, $realLegacyTokens);
+
     $tokenProcessor = new TokenProcessor(\Civi::dispatcher(), [
       'controller' => __CLASS__,
       'smarty' => FALSE,
@@ -403,10 +389,42 @@ class CRM_Contribute_ActionMapping_ByTypeTest extends \Civi\ActionSchedule\Abstr
       }
       $comparison[substr($token, 14, -1)] = $label;
     }
-    $this->assertEquals($legacyTokens, $comparison);
-    foreach ($tokens as $token) {
-      $this->assertEquals(CRM_Core_SelectValues::contributionTokens()['{contribution.' . $token . '}'], $comparison[$token]);
-    }
+    $this->assertEquals(
+      [
+        'id' => 'Contribution ID',
+        'financial_type_id:label' => 'Financial Type',
+        'contribution_page_id:label' => 'Contribution Page',
+        'payment_instrument_id:label' => 'Payment Method',
+        'receive_date' => 'Date Received',
+        'non_deductible_amount' => 'Non-deductible Amount',
+        'total_amount' => 'Total Amount',
+        'fee_amount' => 'Fee Amount',
+        'net_amount' => 'Net Amount',
+        'trxn_id' => 'Transaction ID',
+        'invoice_id' => 'Invoice Reference',
+        'invoice_number' => 'Invoice Number',
+        'currency' => 'Currency',
+        'cancel_date' => 'Cancelled / Refunded Date',
+        'cancel_reason' => 'Cancellation / Refund Reason',
+        'receipt_date' => 'Receipt Date',
+        'thankyou_date' => 'Thank-you Date',
+        'source' => 'Contribution Source',
+        'amount_level' => 'Amount Label',
+        'contribution_recur_id' => 'Recurring Contribution ID',
+        'is_test:label' => 'Test',
+        'is_pay_later:label' => 'Is Pay Later',
+        'contribution_status_id:label' => 'Contribution Status',
+        'address_id' => 'Address ID',
+        'check_number' => 'Check Number',
+        'campaign_id:label' => 'Campaign',
+        'creditnote_id' => 'Credit Note ID',
+        'tax_amount' => 'Tax Amount',
+        'revenue_recognition_date' => 'Revenue Recognition Date',
+        'is_template:label' => 'Is a Template Contribution',
+        'paid_amount' => 'Amount Paid',
+        'balance_amount' => 'Balance',
+        'tax_exclusive_amount' => 'Tax Exclusive Amount',
+      ], $comparison);
   }
 
   /**