),
);
+ // CRM-17787
+ $campaignTitle = array(
+ 'contribution_campaign_title' => array(
+ 'title' => ts('Campaign Title'),
+ 'name' => 'campaign_title',
+ 'where' => 'civicrm_campaign.title',
+ 'data_type' => CRM_Utils_Type::T_STRING,
+ ),
+ );
$softCreditFields = array(
'contribution_soft_credit_name' => array(
'name' => 'contribution_soft_credit_name',
);
$fields = array_merge($impFields, $typeField, $contributionStatus, $contributionPage, $optionField, $expFieldProduct,
- $expFieldsContrib, $contributionNote, $contributionRecurId, $extraFields, $softCreditFields, $financialAccount, $premiums,
+ $expFieldsContrib, $contributionNote, $contributionRecurId, $extraFields, $softCreditFields, $financialAccount, $premiums, $campaignTitle,
CRM_Core_BAO_CustomField::getFieldsForImport('Contribution', FALSE, FALSE, FALSE, $checkPermission)
);
empty($params['skipLineItem']) && !$isLineItem
) {
$taxRateParams = $taxRates[$params['financial_type_id']];
- $taxAmount = CRM_Contribute_BAO_Contribution_Utils::calculateTaxAmount($params['total_amount'], $taxRateParams);
+ $taxAmount = CRM_Contribute_BAO_Contribution_Utils::calculateTaxAmount(CRM_Utils_Array::value('total_amount', $params), $taxRateParams);
$params['tax_amount'] = round($taxAmount['tax_amount'], 2);
// Get Line Item on update of contribution
$params['line_item'][$setID][$priceFieldID]['tax_amount'] = $params['tax_amount'];
}
}
- $params['total_amount'] = $params['total_amount'] + $params['tax_amount'];
+ $params['total_amount'] = CRM_Utils_Array::value('total_amount', $params) + $params['tax_amount'];
}
elseif (isset($params['api.line_item.create'])) {
// Update total amount of contribution using lineItem
*
*/
public static function addPayments($lineItems, $contributions) {
- // get financial trxn which is a payment
+ // get financial trxn which is a payment
$ftSql = "SELECT ft.id
FROM civicrm_financial_trxn ft
INNER JOIN civicrm_entity_financial_trxn eft ON eft.financial_trxn_id = ft.id AND eft.entity_table = 'civicrm_contribution'
while ($dao->fetch()) {
$ftIds[$dao->price_field_value_id] = $dao->id;
}
+
+ $params = array(
+ 'entity_table' => 'civicrm_financial_item',
+ 'financial_trxn_id' => $ftId,
+ );
foreach ($lineItems as $key => $value) {
$paid = $value['line_total'] * ($contribution->net_amount / $contribution->total_amount);
// Record Entity Financial Trxn
- $params = array(
- 'entity_table' => 'civicrm_financial_item',
- 'financial_trxn_id' => $ftId,
- 'amount' => $paid,
- 'entity_id' => $ftIds[$value['price_field_value_id']],
- );
- $entityTrxn = new CRM_Financial_DAO_EntityFinancialTrxn();
- $entityTrxn->copyValues($params);
- $entityTrxn->save();
+ $params['amount'] = $paid;
+ $params['entity_id'] = $ftIds[$value['price_field_value_id']];
+
+ civicrm_api3('EntityFinancialTrxn', 'create', $params);
}
}
}