Remove another instance of pledges using contribution option group
authorEileen McNaughton <emcnaughton@wikimedia.org>
Thu, 7 Jul 2022 05:22:57 +0000 (17:22 +1200)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Thu, 7 Jul 2022 05:22:57 +0000 (17:22 +1200)
CRM/Pledge/BAO/Pledge.php

index 7af5004ce58f9c20a80b542d089727242945dc41..112a3eefe50b638f5b6ed6a81dd474ae09408c69 100644 (file)
@@ -780,14 +780,15 @@ GROUP BY  currency
 
     $returnMessages = [];
 
-    $sendReminders = CRM_Utils_Array::value('send_reminders', $params, FALSE);
+    $sendReminders = $params['send_reminders'] ?? FALSE;
 
-    $allStatus = array_flip(CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name'));
-    $allPledgeStatus = CRM_Core_OptionGroup::values('pledge_status',
-      TRUE, FALSE, FALSE, NULL, 'name', TRUE
-    );
+    $allStatus = array_flip(CRM_Pledge_BAO_PledgePayment::buildOptions('status_id', 'validate'));
+    // We are left with 'Pending' & 'Overdue' - ie. payment required - should we just filter in the ones we want?
+    unset($allStatus['Completed'], $allStatus['Cancelled']);
+
+    $allPledgeStatus = array_flip(CRM_Pledge_BAO_Pledge::buildOptions('status_id', 'validate'));
+    // We are left with 'Pending' & 'Overdue', 'In Progress'
     unset($allPledgeStatus['Completed'], $allPledgeStatus['Cancelled']);
-    unset($allStatus['Completed'], $allStatus['Cancelled'], $allStatus['Failed']);
 
     $statusIds = implode(',', $allStatus);
     $pledgeStatusIds = implode(',', $allPledgeStatus);