);
$dao = CRM_Core_DAO::executeQuery("$selectClause $fromClause $whereClause", $params);
+ $getTaxDetails = FALSE;
+ $invoiceSettings = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::CONTRIBUTE_PREFERENCES_NAME,'contribution_invoice_settings');
+ $invoicing = CRM_Utils_Array::value('invoicing', $invoiceSettings);
while ($dao->fetch()) {
if (!$dao->id) {
continue;
);
$lineItems[$dao->id]['tax_rate'] = CRM_Price_BAO_LineItem::calculateTaxRate($lineItems[$dao->id]);
$lineItems[$dao->id]['subTotal'] = $lineItems[$dao->id]['qty'] * $lineItems[$dao->id]['unit_price'];
+ if ($lineItems[$dao->id]['tax_amount'] != '') {
+ $getTaxDetails = TRUE;
+ }
+ }
+ if ($invoicing) {
+ $taxTerm = CRM_Utils_Array::value('tax_term', $invoiceSettings);
+ $smarty = CRM_Core_Smarty::singleton();
+ $smarty->assign('taxTerm', $taxTerm);
+ $smarty->assign('getTaxDetails', $getTaxDetails);
}
return $lineItems;
}
$lineItems = CRM_Price_BAO_LineItem::create($line);
if (!$update && $contributionDetails) {
CRM_Financial_BAO_FinancialItem::add($lineItems, $contributionDetails);
+ if (isset($contributionDetails->tax_trxn_id) && !empty($contributionDetails->tax_trxn_id) && isset($line['tax_amount'])) {
+ CRM_Financial_BAO_FinancialItem::add($lineItems, $contributionDetails, TRUE);
+ }
}
}
}
}
/**
- * Function to calculate tax rate in percentage
+ * Calculate tax rate in percentage
+ *
+ * @param $lineItemId an assoc array of lineItem
+ *
+ * @return tax rate
+ *
+ * @access public
+ * @static
*/
public static function calculateTaxRate($lineItemId) {
if ($lineItemId['html_type'] == 'Text') {