[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Inventory/views/ -> SubProductsPopup.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_SubProductsPopup_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('MODULE_NAME',$moduleName);
  29          $viewer->assign('COMPANY_LOGO',$companyLogo);
  30          
  31          $moduleName = 'Inventory';
  32          $viewer->assign('MODULE_NAME',$moduleName);
  33          $viewer->view('PopupEntries.tpl', $moduleName);
  34      }
  35      /*

  36       * Function to initialize the required data in smarty to display the List View Contents

  37       */
  38  	public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) {
  39          //src_module value is added to just to stop showing inactive products

  40          $request->set('src_module', $request->getModule());
  41          
  42          $moduleName = $this->getModule($request);
  43          $cvId = $request->get('cvid');
  44          $pageNumber = $request->get('page');
  45          $orderBy = $request->get('orderby');
  46          $sortOrder = $request->get('sortorder');
  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          // To handle subproducts in popup view

  57          $subProductsPopup = $request->get('subProductsPopup');
  58          $parentProductId = $request->get('productid');
  59  
  60          //Check whether the request is in multi select mode

  61          $multiSelectMode = $request->get('multi_select');
  62          if(empty($multiSelectMode)) {
  63              $multiSelectMode = false;
  64          }
  65  
  66          if(empty($cvId)) {
  67              $cvId = '0';
  68          }
  69          if(empty ($pageNumber)){
  70              $pageNumber = '1';
  71          }
  72  
  73          $pagingModel = new Vtiger_Paging_Model();
  74          $pagingModel->set('page', $pageNumber);
  75          
  76          $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
  77          $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName);
  78          $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel);
  79  
  80          if(!empty($orderBy)) {
  81              $listViewModel->set('orderby', $orderBy);
  82              $listViewModel->set('sortorder', $sortOrder);
  83          }
  84          if(!empty($sourceModule)) {
  85              $listViewModel->set('src_module', $sourceModule);
  86              $listViewModel->set('src_field', $sourceField);
  87              $listViewModel->set('src_record', $sourceRecord);
  88          }
  89          if((!empty($searchKey)) && (!empty($searchValue)))  {
  90              $listViewModel->set('search_key', $searchKey);
  91              $listViewModel->set('search_value', $searchValue);
  92          }
  93          
  94          if($subProductsPopup && $parentProductId){
  95              $listViewModel->set('subProductsPopup', true);
  96              $listViewModel->set('productId', $parentProductId);
  97              $viewer->assign('SUBPRODUCTS_POPUP', $subProductsPopup);
  98              $viewer->assign('PARENT_PRODUCT_ID', $parentProductId);
  99          }
 100  
 101          if(!$this->listViewHeaders){
 102              $this->listViewHeaders = $listViewModel->getListViewHeaders();
 103          }
 104          
 105          if(!$this->listViewEntries){
 106              $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel);
 107          }
 108  
 109          $noOfEntries = count($this->listViewEntries);
 110  
 111          if(empty($sortOrder)){
 112              $sortOrder = "ASC";
 113          }
 114          if($sortOrder == "ASC"){
 115              $nextSortOrder = "DESC";
 116              $sortImage = "downArrowSmall.png";
 117          }else{
 118              $nextSortOrder = "ASC";
 119              $sortImage = "upArrowSmall.png";
 120          }
 121          $viewer->assign('MODULE', $moduleName);
 122  
 123          $viewer->assign('SOURCE_MODULE', $sourceModule);
 124          $viewer->assign('SOURCE_FIELD', $sourceField);
 125          $viewer->assign('SOURCE_RECORD', $sourceRecord);
 126  
 127          $viewer->assign('SEARCH_KEY', $searchKey);
 128          $viewer->assign('SEARCH_VALUE', $searchValue);
 129  
 130          $viewer->assign('ORDER_BY',$orderBy);
 131          $viewer->assign('SORT_ORDER',$sortOrder);
 132          $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder);
 133          $viewer->assign('SORT_IMAGE',$sortImage);
 134          $viewer->assign('GETURL', $getUrl);
 135          $viewer->assign('CURRENCY_ID', $currencyId);
 136  
 137          $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance);
 138          $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure());
 139  
 140          $viewer->assign('PAGING_MODEL', $pagingModel);
 141          $viewer->assign('PAGE_NUMBER',$pageNumber);
 142  
 143          $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries);
 144          $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders);
 145          $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries);
 146          
 147          if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) {
 148              if(!$this->listViewCount){
 149                  $this->listViewCount = $listViewModel->getListViewCount();
 150              }
 151              $totalCount = $this->listViewCount;
 152              $pageLimit = $pagingModel->getPageLimit();
 153              $pageCount = ceil((int) $totalCount / (int) $pageLimit);
 154  
 155              if($pageCount == 0){
 156                  $pageCount = 1;
 157              }
 158              $viewer->assign('PAGE_COUNT', $pageCount);
 159              $viewer->assign('LISTVIEW_COUNT', $totalCount);
 160          }
 161  
 162          $viewer->assign('MULTI_SELECT', $multiSelectMode);
 163          $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel());
 164          
 165          $viewer->assign('MODULE', $request->getModule());
 166          $viewer->assign('GETURL', 'getTaxesURL');
 167          $viewer->assign('VIEW', 'SubProductsPopup');
 168          $viewer->assign('MAIN_PRODUCT_POPUP', true);
 169      }
 170      /**

 171       * Function to get listView count

 172       * @param Vtiger_Request $request

 173       */
 174  	function getListViewCount(Vtiger_Request $request){
 175          $moduleName = $this->getModule($request);
 176          $sourceModule = $request->get('src_module');
 177          $sourceField = $request->get('src_field');
 178          $sourceRecord = $request->get('src_record');
 179          $orderBy = $request->get('orderby');
 180          $sortOrder = $request->get('sortorder');
 181  
 182          $searchKey = $request->get('search_key');
 183          $searchValue = $request->get('search_value');
 184          $subProductsPopup = $request->get('subProductsPopup');
 185          $parentProductId = $request->get('productid');
 186  
 187          $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName);
 188          if(!empty($sourceModule)) {
 189              $listViewModel->set('src_module', $sourceModule);
 190              $listViewModel->set('src_field', $sourceField);
 191              $listViewModel->set('src_record', $sourceRecord);
 192          }
 193          
 194          if(!empty($orderBy)) {
 195              $listViewModel->set('orderby', $orderBy);
 196              $listViewModel->set('sortorder', $sortOrder);
 197          }
 198          if((!empty($searchKey)) && (!empty($searchValue)))  {
 199              $listViewModel->set('search_key', $searchKey);
 200              $listViewModel->set('search_value', $searchValue);
 201          }
 202          if($subProductsPopup && $parentProductId){
 203              $listViewModel->set('subProductsPopup', true);
 204              $listViewModel->set('productId', $parentProductId);
 205          }
 206          $count = $listViewModel->getListViewCount();
 207  
 208          return $count;
 209      }
 210      
 211      /**

 212       * Function to get the page count for list

 213       * @return total number of pages

 214       */
 215  	function getPageCount(Vtiger_Request $request){
 216          $listViewCount = $this->getListViewCount($request);
 217          $pagingModel = new Vtiger_Paging_Model();
 218          $pageLimit = $pagingModel->getPageLimit();
 219          $pageCount = ceil((int) $listViewCount / (int) $pageLimit);
 220  
 221          if($pageCount == 0){
 222              $pageCount = 1;
 223          }
 224          $result = array();
 225          $result['page'] = $pageCount;
 226          $result['numberOfRecords'] = $listViewCount;
 227          $response = new Vtiger_Response();
 228          $response->setResult($result);
 229          $response->emit();
 230      }
 231  }


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