CRM_Core_BAO_CustomField::getFieldsForImport('Contribution', FALSE, FALSE, FALSE, $checkPermission)
);
+ $fields['financial_type_id']['title'] = ts('Financial Type ID');
+
self::$_exportableFields = $fields;
}
$newFinancialAccount = CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship($params['financial_type_id'], $accountRelationship);
if ($oldFinancialAccount != $newFinancialAccount) {
$params['total_amount'] = 0;
+ // If we have a fee amount set reverse this as well.
+ if (isset($params['fee_amount'])) {
+ $params['trxnParams']['fee_amount'] = 0 - $params['fee_amount'];
+ }
if (in_array($params['contribution']->contribution_status_id, $pendingStatus)) {
$params['trxnParams']['to_financial_account_id'] = CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship(
$params['prevContribution']->financial_type_id, $accountRelationship);
/* $params['trxnParams']['to_financial_account_id'] = $trxnParams['to_financial_account_id']; */
$params['financial_account_id'] = $newFinancialAccount;
$params['total_amount'] = $params['trxnParams']['total_amount'] = $params['trxnParams']['net_amount'] = $trxnParams['total_amount'];
+ // Set the transaction fee amount back to the original value for creating the new positive financial trxn.
+ if (isset($params['fee_amount'])) {
+ $params['trxnParams']['fee_amount'] = $params['fee_amount'];
+ }
self::updateFinancialAccounts($params);
CRM_Core_BAO_FinancialTrxn::createDeferredTrxn(CRM_Utils_Array::value('line_item', $params), $params['contribution'], TRUE);
$params['trxnParams']['to_financial_account_id'] = $trxnParams['to_financial_account_id'];