[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Inventory/views/ -> Detail.php (source)

   1  <?php
   2  /*+***********************************************************************************
   3   * The contents of this file are subject to the vtiger CRM Public License Version 1.0
   4   * ("License"); You may not use this file except in compliance with the License
   5   * The Original Code is:  vtiger CRM Open Source
   6   * The Initial Developer of the Original Code is vtiger.
   7   * Portions created by vtiger are Copyright (C) vtiger.
   8   * All Rights Reserved.
   9   *************************************************************************************/
  10  
  11  class Inventory_Detail_View extends Vtiger_Detail_View {
  12  	function preProcess(Vtiger_Request $request) {
  13          $viewer = $this->getViewer($request);
  14          $viewer->assign('NO_SUMMARY', true);
  15          parent::preProcess($request);
  16      }
  17  
  18      /**
  19       * Function returns Inventory details
  20       * @param Vtiger_Request $request
  21       */
  22  	function showModuleDetailView(Vtiger_Request $request) {
  23          echo parent::showModuleDetailView($request);
  24          $this->showLineItemDetails($request);
  25      }
  26  
  27      /**
  28       * Function returns Inventory details
  29       * @param Vtiger_Request $request
  30       * @return type
  31       */
  32  	function showDetailViewByMode(Vtiger_Request $request) {
  33          return $this->showModuleDetailView($request);
  34      }
  35  
  36  	function showModuleBasicView($request) {
  37          return $this->showModuleDetailView($request);
  38      }
  39      /**
  40       * Function returns Inventory Line Items
  41       * @param Vtiger_Request $request
  42       */
  43  	function showLineItemDetails(Vtiger_Request $request) {
  44          $record = $request->get('record');
  45          $moduleName = $request->getModule();
  46  
  47          $recordModel = Inventory_Record_Model::getInstanceById($record);
  48          $relatedProducts = $recordModel->getProducts();
  49  
  50          //##Final details convertion started
  51          $finalDetails = $relatedProducts[1]['final_details'];
  52  
  53          //Final tax details convertion started
  54          $taxtype = $finalDetails['taxtype'];
  55          if ($taxtype == 'group') {
  56              $taxDetails = $finalDetails['taxes'];
  57              $taxCount = count($taxDetails);
  58              for($i=0; $i<$taxCount; $i++) {
  59                  $taxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$i]['amount'], null, true);
  60              }
  61              $finalDetails['taxes'] = $taxDetails;
  62          }
  63          //Final tax details convertion ended
  64  
  65          //Final shipping tax details convertion started
  66          $shippingTaxDetails = $finalDetails['sh_taxes'];
  67          $taxCount = count($shippingTaxDetails);
  68          for($i=0; $i<$taxCount; $i++) {
  69              $shippingTaxDetails[$i]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($shippingTaxDetails[$i]['amount'], null, true);
  70          }
  71          $finalDetails['sh_taxes'] = $shippingTaxDetails;
  72          //Final shipping tax details convertion ended
  73  
  74          $currencyFieldsList = array('adjustment', 'grandTotal', 'hdnSubTotal', 'preTaxTotal', 'tax_totalamount',
  75                                      'shtax_totalamount', 'discountTotal_final', 'discount_amount_final', 'shipping_handling_charge', 'totalAfterDiscount');
  76          foreach ($currencyFieldsList as $fieldName) {
  77              $finalDetails[$fieldName] = Vtiger_Currency_UIType::transformDisplayValue($finalDetails[$fieldName], null, true);
  78          }
  79  
  80          $relatedProducts[1]['final_details'] = $finalDetails;
  81          //##Final details convertion ended
  82  
  83          //##Product details convertion started
  84          $productsCount = count($relatedProducts);
  85          for ($i=1; $i<=$productsCount; $i++) {
  86              $product = $relatedProducts[$i];
  87  
  88              //Product tax details convertion started
  89              if ($taxtype == 'individual') {
  90                  $taxDetails = $product['taxes'];
  91                  $taxCount = count($taxDetails);
  92                  for($j=0; $j<$taxCount; $j++) {
  93                      $taxDetails[$j]['amount'] = Vtiger_Currency_UIType::transformDisplayValue($taxDetails[$j]['amount'], null, true);
  94                  }
  95                  $product['taxes'] = $taxDetails;
  96              }
  97              //Product tax details convertion ended
  98  
  99              $currencyFieldsList = array('taxTotal', 'netPrice', 'listPrice', 'unitPrice', 'productTotal',
 100                                          'discountTotal', 'discount_amount', 'totalAfterDiscount');
 101              foreach ($currencyFieldsList as $fieldName) {
 102                  $product[$fieldName.$i] = Vtiger_Currency_UIType::transformDisplayValue($product[$fieldName.$i], null, true);
 103              }
 104  
 105              $relatedProducts[$i] = $product;
 106          }
 107          //##Product details convertion ended
 108  
 109          $viewer = $this->getViewer($request);
 110          $viewer->assign('RELATED_PRODUCTS', $relatedProducts);
 111          $viewer->assign('RECORD', $recordModel);
 112          $viewer->assign('MODULE_NAME',$moduleName);
 113  
 114          $viewer->view('LineItemsDetail.tpl', 'Inventory');
 115      }
 116  
 117      /**
 118       * Function to get the list of Script models to be included
 119       * @param Vtiger_Request $request
 120       * @return <Array> - List of Vtiger_JsScript_Model instances
 121       */
 122  	function getHeaderScripts(Vtiger_Request $request) {
 123          $headerScriptInstances = parent::getHeaderScripts($request);
 124  
 125          $moduleName = $request->getModule();
 126  
 127          //Added to remove the module specific js, as they depend on inventory files
 128          $modulePopUpFile = 'modules.'.$moduleName.'.resources.Popup';
 129          $moduleEditFile = 'modules.'.$moduleName.'.resources.Edit';
 130          $moduleDetailFile = 'modules.'.$moduleName.'.resources.Detail';
 131          unset($headerScriptInstances[$modulePopUpFile]);
 132          unset($headerScriptInstances[$moduleEditFile]);
 133          unset($headerScriptInstances[$moduleDetailFile]);
 134  
 135          $jsFileNames = array(
 136              'modules.Inventory.resources.Popup',
 137              'modules.Inventory.resources.Detail',
 138              'modules.Inventory.resources.Edit',
 139              "modules.$moduleName.resources.Detail",
 140          );
 141          $jsFileNames[] = $moduleEditFile;
 142          $jsFileNames[] = $modulePopUpFile;
 143          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
 144          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
 145          return $headerScriptInstances;
 146      }
 147  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1