[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Vtiger/views/ -> FindDuplicates.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 Vtiger_FindDuplicates_View extends Vtiger_List_View {
  12  
  13  	function preProcess(Vtiger_Request $request, $display = true) {
  14          $viewer = $this->getViewer ($request);
  15          $this->initializeListViewContents($request, $viewer);
  16          parent::preProcess($request, $display);
  17      }
  18  
  19  	public function preProcessTplName(Vtiger_Request $request) {
  20          return 'FindDuplicatePreProcess.tpl';
  21      }
  22  
  23  	function process (Vtiger_Request $request) {
  24          $viewer = $this->getViewer ($request);
  25          $moduleName = $request->getModule();
  26          $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
  27          $this->initializeListViewContents($request, $viewer);
  28  
  29          $viewer->assign('VIEW', $request->get('view'));
  30          $viewer->assign('MODULE_MODEL', $moduleModel);
  31          $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel());
  32          $viewer->view('FindDuplicateContents.tpl', $moduleName);
  33      }
  34  
  35      /**
  36       * Function to get the list of Script models to be included
  37       * @param Vtiger_Request $request
  38       * @return <Array> - List of Vtiger_JsScript_Model instances
  39       */
  40  	function getHeaderScripts(Vtiger_Request $request) {
  41          $headerScriptInstances = parent::getHeaderScripts($request);
  42          $moduleName = $request->getModule();
  43  
  44          $jsFileNames = array(
  45              'modules.Vtiger.resources.List',
  46              'modules.Vtiger.resources.FindDuplicates',
  47          );
  48  
  49          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
  50          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
  51          return $headerScriptInstances;
  52      }
  53  
  54      /*
  55       * Function to initialize the required data in smarty to display the List View Contents
  56       */
  57  	public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) {
  58          $currentUser = vglobal('current_user');
  59          $viewer = $this->getViewer ($request);
  60          $module = $request->getModule();
  61          $moduleModel = Vtiger_Module_Model::getInstance($module);
  62  
  63          $massActionLink = array(
  64              'linktype' => 'LISTVIEWBASIC',
  65              'linklabel' => 'LBL_DELETE',
  66              'linkurl' => 'Javascript:Vtiger_FindDuplicates_Js.massDeleteRecords("index.php?module='.$module.'&action=MassDelete");',
  67              'linkicon' => ''
  68          );
  69          $massActionLinks[] = Vtiger_Link_Model::getInstanceFromValues($massActionLink);
  70          $viewer->assign('LISTVIEW_LINKS', $massActionLinks);
  71          $viewer->assign('MODULE_MODEL', $moduleModel);
  72  
  73          $pageNumber = $request->get('page');
  74          if(empty($pageNumber)){
  75              $pageNumber = '1';
  76          }
  77          $pagingModel = new Vtiger_Paging_Model();
  78          $pagingModel->set('page', $pageNumber);
  79          $pageLimit = $pagingModel->getPageLimit();
  80  
  81          $duplicateSearchFields = $request->get('fields');
  82          $dataModelInstance = Vtiger_FindDuplicate_Model::getInstance($module);
  83          $dataModelInstance->set('fields', $duplicateSearchFields);
  84  
  85          $ignoreEmpty = $request->get('ignoreEmpty');
  86          $ignoreEmptyValue = false;
  87          if($ignoreEmpty == 'on' || $ignoreEmpty == 'true' || $ignoreEmpty == '1') $ignoreEmptyValue = true;
  88          $dataModelInstance->set('ignoreEmpty', $ignoreEmptyValue);
  89  
  90          if(!$this->listViewEntries) {
  91              $this->listViewEntries = $dataModelInstance->getListViewEntries($pagingModel);
  92          }
  93  
  94          if(!$this->listViewHeaders){
  95              $this->listViewHeaders = $dataModelInstance->getListViewHeaders();
  96          }
  97          if(!$this->rows) {
  98              $this->rows = $dataModelInstance->getRecordCount();
  99              $viewer->assign('TOTAL_COUNT', $this->rows);
 100          }
 101  
 102          $rowCount = 0;
 103          foreach($this->listViewEntries as $group) {
 104              foreach($group as $row) {
 105                  $rowCount++;
 106              }
 107          }
 108          //for calculating the page range
 109          for($i=0; $i<$rowCount; $i++) $dummyListEntries[] = $i;
 110          $pagingModel->calculatePageRange($dummyListEntries);
 111  
 112          $viewer->assign('IGNORE_EMPTY', $ignoreEmpty);
 113          $viewer->assign('LISTVIEW_ENTRIES_COUNT', $rowCount);
 114          $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders);
 115          $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries);
 116          $viewer->assign('PAGING_MODEL', $pagingModel);
 117          $viewer->assign('PAGE_NUMBER',$pageNumber);
 118          $viewer->assign('MODULE', $module);
 119          $viewer->assign('DUPLICATE_SEARCH_FIELDS', $duplicateSearchFields);
 120  
 121          $customViewModel = CustomView_Record_Model::getAllFilterByModule($module);
 122          $viewer->assign('VIEW_NAME', $customViewModel->getId());
 123      }
 124  
 125      /**
 126       * Function returns the number of records for the current filter
 127       * @param Vtiger_Request $request
 128       */
 129  	function getRecordsCount(Vtiger_Request $request) {
 130          $moduleName = $request->getModule();
 131          $duplicateSearchFields = $request->get('fields');
 132          $dataModelInstance = Vtiger_FindDuplicate_Model::getInstance($moduleName);
 133  
 134          $ignoreEmpty = $request->get('ignoreEmpty');
 135          $ignoreEmptyValue = false;
 136          if($ignoreEmpty == 'on' || $ignoreEmpty == 'true' || $ignoreEmpty == '1') $ignoreEmptyValue = true;
 137          $dataModelInstance->set('ignoreEmpty', $ignoreEmptyValue);
 138  
 139          $dataModelInstance->set('fields', $duplicateSearchFields);
 140          $count = $dataModelInstance->getRecordCount();
 141  
 142          $result = array();
 143          $result['module'] = $moduleName;
 144          $result['count'] = $count;
 145  
 146          $response = new Vtiger_Response();
 147          $response->setEmitType(Vtiger_Response::$EMIT_JSON);
 148          $response->setResult($result);
 149          $response->emit();
 150      }
 151  }


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