*/
public static function recordFinancialAccounts(&$params, $financialTrxnValues = NULL) {
$skipRecords = $update = $return = $isRelatedId = FALSE;
+ $isUpdate = !empty($params['prevContribution']);
$additionalParticipantId = [];
$contributionStatuses = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name');
if (empty($params['prevContribution'])) {
$entityID = NULL;
}
- else {
- $update = TRUE;
- }
$statusId = $params['contribution']->contribution_status_id;
// CRM-13964 partial payment
$params['trxnParams'] = $trxnParams;
- if (!empty($params['prevContribution'])) {
+ if ($isUpdate) {
$updated = FALSE;
$params['trxnParams']['total_amount'] = $trxnParams['total_amount'] = $params['total_amount'] = $params['prevContribution']->total_amount;
$params['trxnParams']['fee_amount'] = $params['prevContribution']->fee_amount;
}
}
- if (!$update) {
+ else {
// records finanical trxn and entity financial trxn
// also make it available as return value
self::recordAlwaysAccountsReceivable($trxnParams, $params);
}
// record line items and financial items
if (empty($params['skipLineItem'])) {
- CRM_Price_BAO_LineItem::processPriceSet($entityId, CRM_Utils_Array::value('line_item', $params), $params['contribution'], $entityTable, $update);
+ CRM_Price_BAO_LineItem::processPriceSet($entityId, CRM_Utils_Array::value('line_item', $params), $params['contribution'], $entityTable, $isUpdate);
}
// create batch entry if batch_id is passed and
* @param array $params
* To create trxn entries.
*
- * @return bool|void
+ * @throws \CRM_Core_Exception
*/
public static function recordFees($params) {
- $domainId = CRM_Core_Config::domainID();
$amount = 0;
if (!empty($params['prevContribution'])) {
$amount = $params['prevContribution']->fee_amount;
}
$amount = $params['fee_amount'] - $amount;
if (!$amount) {
- return FALSE;
+ return;
}
$contributionId = $params['contribution']->id ?? $params['contribution_id'];
if (empty($params['financial_type_id'])) {
$fItemParams
= [
'financial_account_id' => $financialAccount,
- 'contact_id' => CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Domain', $domainId, 'contact_id'),
+ 'contact_id' => CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Domain', CRM_Core_Config::domainID(), 'contact_id'),
'created_date' => date('YmdHis'),
'transaction_date' => date('YmdHis'),
'amount' => $amount,