Merge pull request #4627 from colemanw/docblocks
[civicrm-core.git] / CRM / Price / Page / Option.php
index 78a0bb7c59b7bc54ddc7b850f038c31f7810971e..f9432ed9b61ba3f5b8402835026e0730842734ea 100644 (file)
@@ -133,8 +133,23 @@ class CRM_Price_Page_Option extends CRM_Core_Page {
     CRM_Price_BAO_PriceFieldValue::getValues($this->_fid, $customOption);
     $config = CRM_Core_Config::singleton();
     $financialType = CRM_Contribute_PseudoConstant::financialType();
+    $taxRate = CRM_Core_PseudoConstant::getTaxRates();
+    // display taxTerm for priceFields
+    $invoiceSettings = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::CONTRIBUTE_PREFERENCES_NAME,'contribution_invoice_settings');
+    $taxTerm = CRM_Utils_Array::value('tax_term', $invoiceSettings);
+    $invoicing = CRM_Utils_Array::value('invoicing', $invoiceSettings);
+    $getTaxDetails = FALSE;
     foreach ($customOption as $id => $values) {
       $action = array_sum(array_keys($this->actionLinks()));
+      // Adding the required fields in the array
+      if (isset($taxRate[$values['financial_type_id']])) {
+        $customOption[$id]['tax_rate'] = $taxRate[$values['financial_type_id']];
+        if ($invoicing && isset($customOption[$id]['tax_rate'])) {
+          $getTaxDetails = TRUE;
+        }
+        $taxAmount = CRM_Contribute_BAO_Contribution_Utils::calculateTaxAmount($customOption[$id]['amount'], $customOption[$id]['tax_rate']);
+        $customOption[$id]['tax_amount'] = $taxAmount['tax_amount'];
+      }
       if (!empty($values['financial_type_id'])){
         $customOption[$id]['financial_type_id'] = $financialType[$values['financial_type_id']];
       }
@@ -177,6 +192,8 @@ class CRM_Price_Page_Option extends CRM_Core_Page {
       'id', $returnURL, $filter
     );
 
+    $this->assign('taxTerm', $taxTerm);
+    $this->assign('getTaxDetails', $getTaxDetails);
     $this->assign('customOption', $customOption);
     $this->assign('sid', $this->_sid);
   }
@@ -214,9 +231,6 @@ class CRM_Price_Page_Option extends CRM_Core_Page {
     $controller->process();
     $controller->run();
 
-
-    $this->browse();
-
     if ($action & CRM_Core_Action::DELETE) {
       // add breadcrumb
       $url = CRM_Utils_System::url('civicrm/admin/price/field/option', 'reset=1');