From 9849720eaa200e91f24878436db73a89cb00e356 Mon Sep 17 00:00:00 2001 From: Rohan Katkar Date: Tue, 27 May 2014 13:54:49 +0530 Subject: [PATCH] Changes for generation of Invoice --- CRM/Contribute/Task.php | 5 +++++ CRM/Core/BAO/MessageTemplate.php | 3 +++ CRM/Price/BAO/LineItem.php | 17 +++++++++++++++++ xml/templates/civicrm_msg_template.tpl | 1 + 4 files changed, 26 insertions(+) diff --git a/CRM/Contribute/Task.php b/CRM/Contribute/Task.php index 146daba42d..b2a2f62f7e 100644 --- a/CRM/Contribute/Task.php +++ b/CRM/Contribute/Task.php @@ -114,6 +114,11 @@ class CRM_Contribute_Task { 'class' => 'CRM_Contribute_Form_Task_PDFLetter', 'result' => FALSE, ), + 9 => array( + 'title' => ts('Print or Email Contribution Invoices'), + 'class' => 'CRM_Contribute_Form_Task_Invoice', + 'result' => FALSE, + ), ); //CRM-4418, check for delete diff --git a/CRM/Core/BAO/MessageTemplate.php b/CRM/Core/BAO/MessageTemplate.php index 947fb4482f..2c065d7538 100644 --- a/CRM/Core/BAO/MessageTemplate.php +++ b/CRM/Core/BAO/MessageTemplate.php @@ -501,6 +501,9 @@ class CRM_Core_BAO_MessageTemplate extends CRM_Core_DAO_MessageTemplate { $params['attachments'] = array(); } $params['attachments'][] = CRM_Utils_Mail::appendPDF($params['PDFFilename'], $params['html'], $format); + if (isset($params['tplParams']['email_comment'])) { + $params['html'] = $params['tplParams']['email_comment']; + } } $sent = CRM_Utils_Mail::send($params); diff --git a/CRM/Price/BAO/LineItem.php b/CRM/Price/BAO/LineItem.php index 20ff8f740e..88e8fd9788 100644 --- a/CRM/Price/BAO/LineItem.php +++ b/CRM/Price/BAO/LineItem.php @@ -130,6 +130,7 @@ AND li.entity_id = {$entityId} li.participant_count, li.price_field_value_id, li.financial_type_id, + li.tax_amount, pfv.description"; $fromClause = " @@ -180,7 +181,10 @@ AND li.entity_id = {$entityId} 'financial_type_id' => $dao->financial_type_id, 'membership_type_id' => $dao->membership_type_id, 'membership_num_terms' => $dao->membership_num_terms, + 'tax_amount' => $dao->tax_amount, ); + $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']; } return $lineItems; } @@ -418,4 +422,17 @@ AND li.entity_id = {$entityId} } } } + + /** + * Function to calculate tax rate in percentage + */ + public static function calculateTaxRate($lineItemId) { + if ($lineItemId['html_type'] == 'Text') { + $tax = (($lineItemId['line_total'] - ($lineItemId['unit_price'] * $lineItemId['qty'])))/($lineItemId['unit_price'] * $lineItemId['qty'])*100; + } + else { + $tax = (($lineItemId['line_total'] - $lineItemId['unit_price'])/$lineItemId['unit_price']) * 100; + } + return $tax; + } } diff --git a/xml/templates/civicrm_msg_template.tpl b/xml/templates/civicrm_msg_template.tpl index f90636166b..107da880d7 100644 --- a/xml/templates/civicrm_msg_template.tpl +++ b/xml/templates/civicrm_msg_template.tpl @@ -46,6 +46,7 @@ 'contribution_dupalert' => ts('Contributions - Duplicate Organization Alert', array('escape' => 'sql')), 'contribution_offline_receipt' => ts('Contributions - Receipt (off-line)', array('escape' => 'sql')), 'contribution_online_receipt' => ts('Contributions - Receipt (on-line)', array('escape' => 'sql')), + 'contribution_invoice_receipt' => ts('Contributions - Invoice', array('escape' => 'sql')), 'contribution_recurring_notify' => ts('Contributions - Recurring Start and End Notification', array('escape' => 'sql')), 'contribution_recurring_cancelled' => ts('Contributions - Recurring Cancellation Notification', array('escape' => 'sql')), 'contribution_recurring_billing' => ts('Contributions - Recurring Billing Updates', array('escape' => 'sql')), -- 2.25.1