[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Inventory/views/ -> ProductsPopup.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 Inventory_ProductsPopup_View extends Vtiger_Popup_View {
  12  
  13      /**
  14       * Function returns module name for which Popup will be initialized
  15       * @param type $request
  16       */
  17  	function getModule($request) {
  18          return 'Products';
  19      }
  20      
  21  	function process (Vtiger_Request $request) {
  22          $viewer = $this->getViewer ($request);
  23          $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
  24          $companyLogo = $companyDetails->getLogo();
  25  
  26          $this->initializeListViewContents($request, $viewer);
  27  
  28          $viewer->assign('COMPANY_LOGO',$companyLogo);
  29          $moduleName = 'Inventory';
  30          $viewer->assign('MODULE_NAME',$moduleName);
  31          $viewer->view('Popup.tpl', $moduleName);
  32      }
  33  
  34      /*
  35       * Function to initialize the required data in smarty to display the List View Contents
  36       */
  37  	public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) {
  38          //src_module value is added to just to stop showing inactive products
  39          $request->set('src_module', $request->getModule());
  40  
  41          $moduleName = $this->getModule($request);
  42          $cvId = $request->get('cvid');
  43          $pageNumber = $request->get('page');
  44          $orderBy = $request->get('orderby');
  45          $sortOrder = $request->get('sortorder');
  46          $sourceModule = $request->get('src_module');
  47          $sourceField = $request->get('src_field');
  48          $sourceRecord = $request->get('src_record');
  49          $searchKey = $request->get('search_key');
  50          $searchValue = $request->get('search_value');
  51          $currencyId = $request->get('currency_id');
  52  
  53          //To handle special operation when selecting record from Popup
  54          $getUrl = $request->get('get_url');
  55  
  56          //Check whether the request is in multi select mode
  57          $multiSelectMode = $request->get('multi_select');
  58          if(empty($multiSelectMode)) {
  59              $multiSelectMode = false;
  60          }
  61  
  62          if(empty($cvId)) {
  63              $cvId = '0';
  64          }
  65          if(empty ($pageNumber)) {
  66              $pageNumber = '1';
  67          }
  68  
  69          $pagingModel = new Vtiger_Paging_Model();
  70          $pagingModel->set('page', $pageNumber);
  71  
  72          $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
  73          $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName);
  74          $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel);
  75  
  76          if(!empty($orderBy)) {
  77              $listViewModel->set('orderby', $orderBy);
  78              $listViewModel->set('sortorder', $sortOrder);
  79          }
  80          if(!empty($sourceModule)) {
  81              $listViewModel->set('src_module', $sourceModule);
  82              $listViewModel->set('src_field', $sourceField);
  83              $listViewModel->set('src_record', $sourceRecord);
  84          }
  85          if((!empty($searchKey)) && (!empty($searchValue))) {
  86              $listViewModel->set('search_key', $searchKey);
  87              $listViewModel->set('search_value', $searchValue);
  88          }
  89          
  90          $productModel = Vtiger_Module_Model::getInstance('Products');        
  91          if(!$this->listViewHeaders) {
  92              $this->listViewHeaders = $listViewModel->getListViewHeaders();
  93          }
  94          
  95          if(!$this->listViewEntries && $productModel->isActive()) {
  96              $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel);
  97          }
  98  
  99          if(!$productModel->isActive()){
 100              $this->listViewEntries = array(); 
 101              $viewer->assign('LBL_MODULE_DISABLED', true);
 102          }
 103          
 104          foreach ($this->listViewEntries as $key => $listViewEntry) {
 105              $productId = $listViewEntry->getId();
 106              $subProducts = $listViewModel->getSubProducts($productId);
 107              if($subProducts) {
 108                  $listViewEntry->set('subProducts', $subProducts);
 109              }
 110          }
 111  
 112          $noOfEntries = count($this->listViewEntries);
 113  
 114          if(empty($sortOrder)) {
 115              $sortOrder = "ASC";
 116          }
 117          if($sortOrder == "ASC") {
 118              $nextSortOrder = "DESC";
 119              $sortImage = "downArrowSmall.png";
 120          }else {
 121              $nextSortOrder = "ASC";
 122              $sortImage = "upArrowSmall.png";
 123          }
 124          $viewer->assign('MODULE', $moduleName);
 125          $viewer->assign('RELATED_MODULE', $moduleName); 
 126          $viewer->assign('SOURCE_MODULE', $sourceModule);
 127          $viewer->assign('SOURCE_FIELD', $sourceField);
 128          $viewer->assign('SOURCE_RECORD', $sourceRecord);
 129  
 130          $viewer->assign('SEARCH_KEY', $searchKey);
 131          $viewer->assign('SEARCH_VALUE', $searchValue);
 132  
 133          $viewer->assign('ORDER_BY',$orderBy);
 134          $viewer->assign('SORT_ORDER',$sortOrder);
 135          $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder);
 136          $viewer->assign('SORT_IMAGE',$sortImage);
 137          $viewer->assign('GETURL', $getUrl);
 138          $viewer->assign('CURRENCY_ID', $currencyId);
 139  
 140          $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance);
 141          $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure());
 142  
 143          $viewer->assign('PAGING_MODEL', $pagingModel);
 144          $viewer->assign('PAGE_NUMBER',$pageNumber);
 145  
 146          $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries);
 147          $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders);
 148          $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries);
 149          
 150          if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) {
 151              if(!$this->listViewCount){
 152                  $this->listViewCount = $listViewModel->getListViewCount();
 153              }
 154              $totalCount = $this->listViewCount;
 155              $pageLimit = $pagingModel->getPageLimit();
 156              $pageCount = ceil((int) $totalCount / (int) $pageLimit);
 157  
 158              if($pageCount == 0){
 159                  $pageCount = 1;
 160              }
 161              $viewer->assign('PAGE_COUNT', $pageCount);
 162              $viewer->assign('LISTVIEW_COUNT', $totalCount);
 163          }
 164  
 165          $viewer->assign('MULTI_SELECT', $multiSelectMode);
 166          $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel());
 167          $viewer->assign('TARGET_MODULE', $moduleName);
 168          $viewer->assign('MODULE', $request->getModule());
 169          $viewer->assign('GETURL', 'getTaxesURL');
 170          $viewer->assign('VIEW', 'ProductsPopup');
 171      }
 172  
 173       /**
 174       * Function to get the list of Script models to be included
 175       * @param Vtiger_Request $request
 176       * @return <Array> - List of Vtiger_JsScript_Model instances
 177       */
 178  	function getHeaderScripts(Vtiger_Request $request) {
 179          $headerScriptInstances = parent::getHeaderScripts($request);
 180  
 181          $moduleName = $request->getModule();
 182          $modulePopUpFile = 'modules.'.$moduleName.'.resources.Popup';
 183          unset($headerScriptInstances[$modulePopUpFile]);
 184  
 185          $jsFileNames = array('modules.Inventory.resources.Popup');
 186          $jsFileNames[] = $modulePopUpFile;
 187          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
 188          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
 189  
 190          return $headerScriptInstances;
 191      }
 192  
 193  }


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