[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |