[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/EmailTemplates/views/ -> List.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 EmailTemplates_List_View extends Vtiger_Index_View {
  12      
  13  	function __construct() {
  14          parent::__construct();
  15      }
  16      
  17  	function preProcess (Vtiger_Request $request, $display=true) {
  18          parent::preProcess($request, false);
  19          
  20          $viewer = $this->getViewer ($request);
  21          $moduleName = $request->getModule();
  22  
  23          $listViewModel = EmailTemplates_ListView_Model::getInstance($moduleName);
  24  
  25          $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view'));
  26          $quickLinkModels = $listViewModel->getSideBarLinks($linkParams);
  27          
  28          $viewer->assign('QUICK_LINKS', $quickLinkModels);
  29          
  30          $this->initializeListViewContents($request, $viewer);
  31          
  32          if($display) {
  33              $this->preProcessDisplay($request);
  34          }
  35      }
  36  
  37  	function preProcessTplName(Vtiger_Request $request) {
  38          return 'ListViewPreProcess.tpl';
  39      }
  40      
  41  	function process (Vtiger_Request $request) {
  42          $viewer = $this->getViewer ($request);
  43          $moduleName = $request->getModule();
  44          $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
  45          
  46          $this->initializeListViewContents($request, $viewer);
  47          $viewer->assign('VIEW', $request->get('view'));
  48          $viewer->assign('MODULE_MODEL', $moduleModel);
  49          $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel());
  50          $viewer->view('ListViewContents.tpl', $moduleName);
  51      }
  52      
  53      
  54      function postProcess(Vtiger_Request $request) {
  55          $viewer = $this->getViewer ($request);
  56          $moduleName = $request->getModule();
  57  
  58          $viewer->view('ListViewPostProcess.tpl', $moduleName);
  59          parent::postProcess($request);
  60      }
  61  
  62      /*

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

  64       */
  65  	public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) {
  66          $moduleName = $request->getModule();
  67          $cvId = $request->get('viewname');
  68          $pageNumber = $request->get('page');
  69          $orderBy = $request->get('orderby');
  70          $sortOrder = $request->get('sortorder');
  71          if($sortOrder == "ASC"){
  72              $nextSortOrder = "DESC";
  73              $sortImage = "icon-chevron-down";
  74          }else{
  75              $nextSortOrder = "ASC";
  76              $sortImage = "icon-chevron-up";
  77          }
  78  
  79          if(empty ($pageNumber)){
  80              $pageNumber = '1';
  81          }
  82  
  83          $listViewModel = EmailTemplates_ListView_Model::getInstance($moduleName, $cvId);
  84          $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view'), 'CVID'=>$cvId);
  85          $linkModels = $listViewModel->getListViewMassActions($linkParams);
  86          $pagingModel = new Vtiger_Paging_Model();
  87          $pagingModel->set('page', $pageNumber);
  88  
  89          if(!empty($orderBy)) {
  90              $listViewModel->set('orderby', $orderBy);
  91              $listViewModel->set('sortorder',$sortOrder);
  92          }
  93  
  94          $searchKey = $request->get('search_key');
  95          $searchValue = $request->get('search_value');
  96          $operator = $request->get('operator');
  97          if(!empty($operator)) {
  98              $listViewModel->set('operator', $operator);
  99              $viewer->assign('OPERATOR',$operator);
 100              $viewer->assign('ALPHABET_VALUE',$searchValue);
 101          }
 102          if(!empty($searchKey) && !empty($searchValue)) {
 103              $listViewModel->set('search_key', $searchKey);
 104              $listViewModel->set('search_value', $searchValue);
 105          }
 106          if(!$this->listViewHeaders){
 107              $this->listViewHeaders = $listViewModel->getListViewHeaders();
 108          }
 109          if(!$this->listViewEntries){
 110              $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel);
 111          }
 112          $noOfEntries = count($this->listViewEntries);
 113          $viewer->assign('VIEWID', $cvId);
 114          $viewer->assign('MODULE', $moduleName);
 115          
 116          if(!$this->listViewLinks){
 117              $this->listViewLinks = $listViewModel->getListViewLinks($linkParams);
 118          }
 119          $viewer->assign('LISTVIEW_LINKS', $this->listViewLinks);
 120          $viewer->assign('LISTVIEW_MASSACTIONS', $linkModels['LISTVIEWMASSACTION']);
 121  
 122          $viewer->assign('PAGING_MODEL', $pagingModel);
 123          $viewer->assign('PAGE_NUMBER',$pageNumber);
 124  
 125          $viewer->assign('ORDER_BY',$orderBy);
 126          $viewer->assign('SORT_ORDER',$sortOrder);
 127          $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder);
 128          $viewer->assign('SORT_IMAGE',$sortImage);
 129          $viewer->assign('COLUMN_NAME',$orderBy);
 130  
 131          $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries);
 132          $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders);
 133          $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries);
 134  
 135          if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) {
 136              if(!$this->listViewCount){
 137                  $this->listViewCount = $listViewModel->getListViewCount();
 138              }
 139              $viewer->assign('LISTVIEW_COUNT', $this->listViewCount);
 140          }
 141  
 142          $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView'));
 143          $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete'));
 144      }
 145      
 146      /**

 147       * Function returns the number of records for the current filter

 148       * @param Vtiger_Request $request

 149       */
 150  	function getRecordsCount(Vtiger_Request $request) {
 151          $moduleName = $request->getModule();
 152          $count = $this->getListViewCount($request);
 153  
 154          $result = array();
 155          $result['module'] = $moduleName;
 156          $result['count'] = $count;
 157  
 158          $response = new Vtiger_Response();
 159          $response->setEmitType(Vtiger_Response::$EMIT_JSON);
 160          $response->setResult($result);
 161          $response->emit();
 162      }
 163  
 164      /**

 165       * Function to get listView count

 166       * @param Vtiger_Request $request

 167       */
 168  	function getListViewCount(Vtiger_Request $request){
 169          $moduleName = $request->getModule();
 170          $searchKey = $request->get('search_key');
 171          $searchValue = $request->get('search_value');
 172  
 173          $listViewModel = EmailTemplates_ListView_Model::getInstance($moduleName);
 174          $listViewModel->set('search_key', $searchKey);
 175          $listViewModel->set('search_value', $searchValue);
 176          $listViewModel->set('operator', $request->get('operator'));
 177  
 178          return $listViewModel->getListViewCount();
 179      }
 180  
 181  
 182  
 183      /**

 184       * Function to get the page count for list

 185       * @return total number of pages

 186       */
 187  	function getPageCount(Vtiger_Request $request){
 188          $listViewCount = $this->getListViewCount($request);
 189          $pagingModel = new Vtiger_Paging_Model();
 190          $pageLimit = $pagingModel->getPageLimit();
 191          $pageCount = ceil((int) $listViewCount / (int) $pageLimit);
 192  
 193          $result = array();
 194          $result['page'] = $pageCount;
 195          $result['numberOfRecords'] = $listViewCount;
 196          $response = new Vtiger_Response();
 197          $response->setResult($result);
 198          $response->emit();
 199      }
 200      
 201      /**

 202       * Function to get the list of Script models to be included

 203       * @param Vtiger_Request $request

 204       * @return <Array> - List of Vtiger_JsScript_Model instances

 205       */
 206  	function getHeaderScripts(Vtiger_Request $request) {
 207          $headerScriptInstances = parent::getHeaderScripts($request);
 208  
 209          $jsFileNames = array(
 210              'modules.Vtiger.resources.List',
 211          );
 212  
 213          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
 214          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
 215          return $headerScriptInstances;
 216      }
 217      
 218  }


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