diff --git a/CRM/Financial/BAO/FinancialItem.php b/CRM/Financial/BAO/FinancialItem.php index 130771577503..506214447cbf 100644 --- a/CRM/Financial/BAO/FinancialItem.php +++ b/CRM/Financial/BAO/FinancialItem.php @@ -46,20 +46,19 @@ public static function retrieve($params, &$defaults) { * @return CRM_Financial_DAO_FinancialItem */ public static function add($lineItem, $contribution, $taxTrxnID = FALSE, $trxnId = NULL) { - $contributionStatuses = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name'); $financialItemStatus = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_FinancialItem', 'status_id'); + $contributionStatus = CRM_Core_PseudoConstant::getName('CRM_Contribute_BAO_Contribution', 'contribution_status_id', $contribution->contribution_status_id); $itemStatus = NULL; - if ($contribution->contribution_status_id == array_search('Completed', $contributionStatuses) - || $contribution->contribution_status_id == array_search('Pending refund', $contributionStatuses) - ) { + if ($contributionStatus === 'Completed' || $contributionStatus === 'Pending refund') { $itemStatus = array_search('Paid', $financialItemStatus); } - elseif ($contribution->contribution_status_id == array_search('Pending', $contributionStatuses) - || $contribution->contribution_status_id == array_search('In Progress', $contributionStatuses) + elseif ($contributionStatus === 'Pending' + // In progress is no longer present on new installs unless extensions add it. + || $contributionStatus === 'In Progress' ) { $itemStatus = array_search('Unpaid', $financialItemStatus); } - elseif ($contribution->contribution_status_id == array_search('Partially paid', $contributionStatuses)) { + elseif ($contributionStatus === 'Partially paid') { $itemStatus = array_search('Partially paid', $financialItemStatus); } $params = [ @@ -96,8 +95,7 @@ public static function add($lineItem, $contribution, $taxTrxnID = FALSE, $trxnId $trxnId['id'] = $trxn['financialTrxnId']; } } - $financialItem = self::create($params, NULL, $trxnId); - return $financialItem; + return self::create($params, NULL, $trxnId); } /**