[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Products/views/ -> PriceBookProductPopup.php (source)

   1  <?php
   2  /*+**********************************************************************************
   3   * The contents of this file are subject to the vtiger CRM Public License Version 1.1
   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 Products_PriceBookProductPopup_View extends Vtiger_Popup_View {
  12  
  13  	function process (Vtiger_Request $request) {
  14          $viewer = $this->getViewer ($request);
  15          $moduleName = $request->getModule();
  16          $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
  17          $companyLogo = $companyDetails->getLogo();
  18  
  19          $this->initializeListViewContents($request, $viewer);
  20  
  21          $viewer->assign('MODULE_NAME',$moduleName);
  22          $viewer->assign('COMPANY_LOGO',$companyLogo);
  23          $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
  24  
  25          $viewer->view('PriceBookProductPopup.tpl', 'Products');
  26      }
  27  
  28      /**
  29       * Function to get the list of Script models to be included
  30       * @param Vtiger_Request $request
  31       * @return <Array> - List of Vtiger_JsScript_Model instances
  32       */
  33  	function getHeaderScripts(Vtiger_Request $request) {
  34          $headerScriptInstances = parent::getHeaderScripts($request);
  35          $moduleName = $request->get('src_module');
  36          $jsFileNames = array(
  37              "modules.$moduleName.resources.PriceBooksPopup",
  38              'modules.Vtiger.resources.validator.BaseValidator',
  39              'modules.Vtiger.resources.validator.FieldValidator',
  40              "modules.$moduleName.resources.validator.FieldValidator"
  41          );
  42  
  43          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
  44          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
  45  
  46          return $headerScriptInstances;
  47      }
  48  
  49      /*
  50       * Function to initialize the required data in smarty to display the List View Contents
  51       */
  52  	public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) {
  53          $moduleName = $request->getModule();
  54          $cvId = $request->get('cvid');
  55          $pageNumber = $request->get('page');
  56          $orderBy = $request->get('orderby');
  57          $sortOrder = $request->get('sortorder');
  58          $sourceModule = $request->get('src_module');
  59          $sourceField = $request->get('src_field');
  60          $sourceRecord = $request->get('src_record');
  61          $searchKey = $request->get('search_key');
  62          $searchValue = $request->get('search_value');
  63  
  64          if(empty($cvId)) {
  65              $cvId = '0';
  66          }
  67          if(empty ($pageNumber)){
  68              $pageNumber = '1';
  69          }
  70  
  71          $pagingModel = new Vtiger_Paging_Model();
  72          $pagingModel->set('page', $pageNumber);
  73  
  74          $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
  75          $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName);
  76  
  77          $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel);
  78  
  79          if(!empty($orderBy)) {
  80              $listViewModel->set('orderby', $orderBy);
  81              $listViewModel->set('sortorder', $sortOrder);
  82          }
  83          if(!empty($sourceModule)) {
  84              $listViewModel->set('src_module', $sourceModule);
  85              $listViewModel->set('src_field', $sourceField);
  86              $listViewModel->set('src_record', $sourceRecord);
  87              $sourceRecordModel = Vtiger_Record_Model::getInstanceById($sourceRecord, $sourceModule);
  88              $currencyId = $sourceRecordModel->get('currency_id');
  89          }
  90          if((!empty($searchKey)) && (!empty($searchValue)))  {
  91              $listViewModel->set('search_key', $searchKey);
  92              $listViewModel->set('search_value', $searchValue);
  93          }
  94  
  95          if(!$this->listViewHeaders){
  96              $this->listViewHeaders = $listViewModel->getListViewHeaders();
  97          }
  98          if(!$this->listViewEntries){
  99              $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel);
 100          }
 101  
 102          if ($currencyId) {
 103              foreach ($this->listViewEntries as $recordId => $recordModel) {
 104                  $productIdsList[$recordId] = $recordId;
 105              }
 106              $unitPricesList = $moduleModel->getPricesForProducts($currencyId, $productIdsList);
 107              
 108              foreach ($this->listViewEntries as $recordId => $recordModel) {
 109                  $recordModel->set('unit_price', $unitPricesList[$recordId]);
 110              }
 111          }
 112  
 113          $noOfEntries = count($this->listViewEntries);
 114  
 115          if(empty($sortOrder)){
 116              $sortOrder = "ASC";
 117          }
 118          if($sortOrder == "ASC"){
 119              $nextSortOrder = "DESC";
 120              $sortImage = "downArrowSmall.png";
 121          }else{
 122              $nextSortOrder = "ASC";
 123              $sortImage = "upArrowSmall.png";
 124          }
 125          $viewer->assign('MODULE', $request->getModule());
 126  
 127          $viewer->assign('SOURCE_MODULE', $sourceModule);
 128          $viewer->assign('SOURCE_FIELD', $sourceField);
 129          $viewer->assign('SOURCE_RECORD', $sourceRecord);
 130          //PARENT_MODULE is used for only translations
 131          $viewer->assign('PARENT_MODULE', 'Products');
 132  
 133          $viewer->assign('SEARCH_KEY', $searchKey);
 134          $viewer->assign('SEARCH_VALUE', $searchValue);
 135  
 136          $viewer->assign('ORDER_BY',$orderBy);
 137          $viewer->assign('SORT_ORDER',$sortOrder);
 138          $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder);
 139          $viewer->assign('SORT_IMAGE',$sortImage);
 140  
 141          $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance);
 142          $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure());
 143  
 144          $viewer->assign('PAGING_MODEL', $pagingModel);
 145          $viewer->assign('PAGE_NUMBER',$pageNumber);
 146  
 147          $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries);
 148          $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders);
 149          $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries);
 150  
 151          $viewer->assign('VIEW', 'PriceBookProductPopup');
 152      }
 153  
 154  }


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