if (empty($params['prevContribution'])) {
$params['prevContribution'] = self::getOriginalContribution($params['id']);
}
- $isRequireTaxCalculation = FALSE;
- foreach (array('total_amount', 'financial_type_id', 'fee_amount', 'tax_amount') as $field) {
+
+ foreach (array('total_amount', 'financial_type_id', 'fee_amount') as $field) {
if (!isset($params[$field])) {
if ($field == 'total_amount' && $params['prevContribution']->tax_amount) {
// Tax amount gets added back on later....
$params['total_amount'] = $params['prevContribution']->total_amount -
$params['prevContribution']->tax_amount;
- $isRequireTaxCalculation = TRUE;
}
else {
$params[$field] = $params['prevContribution']->$field;
if ($params[$field] != $params['prevContribution']->$field) {
- $isRequireTaxCalculation = TRUE;
}
}
}
}
- if (!$isRequireTaxCalculation) {
- return $params;
- }
+
self::calculateMissingAmountParams($params, $params['id']);
if (!array_key_exists($params['financial_type_id'], $taxRates)) {
// Assign tax Amount on update of contribution
'account_relationship' => 10,
'financial_account_id' => $financialAccountId,
);
- $financialRelation = CRM_Financial_BAO_FinancialTypeAccount::add($financialAccountParams);
+ CRM_Financial_BAO_FinancialTypeAccount::add($financialAccountParams);
$taxRates = CRM_Core_PseudoConstant::getTaxRates();
$params = array_merge($this->_params, array('contribution_status_id' => 2, 'financial_type_id' => $financialTypeId));
$contribution = $this->callAPISuccess('contribution', 'create', $params);
}
/**
- * Updation of contrbution.
+ * Update a contribution.
+ *
* Function tests that line items, financial records are updated when contribution amount is changed
*/
public function testCreateUpdateContributionChangeTotal() {
'financial_type_id' => 1, // without tax rate i.e Donation
'total_amount' => '300',
);
- $contribution = $this->callAPISuccess('contribution', 'update', $newParams);
+ $contribution = $this->callAPISuccess('contribution', 'create', $newParams);
$lineItems = $this->callAPISuccess('line_item', 'getvalue', array(
'entity_id' => $contribution['id'],