PATH:
home
/
letacommog
/
crmleta
/
modules
/
Documents
/
views
<?php /*+********************************************************************************** * The contents of this file are subject to the vtiger CRM Public License Version 1.1 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. ************************************************************************************/ class Documents_List_View extends Vtiger_List_View { function __construct() { parent::__construct(); } function preProcess (Vtiger_Request $request) { $viewer = $this->getViewer ($request); $moduleName = $request->getModule(); $documentModuleModel = Vtiger_Module_Model::getInstance($moduleName); $defaultCustomFilter = $documentModuleModel->getDefaultCustomFilter(); $folderList = Documents_Module_Model::getAllFolders(); $viewer->assign('DEFAULT_CUSTOM_FILTER_ID', $defaultCustomFilter); $viewer->assign('FOLDERS', $folderList); parent::preProcess($request); } /* * Function to initialize the required data in smarty to display the List View Contents */ public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) { $moduleName = $request->getModule(); $cvId = $request->get('viewname'); $pageNumber = $request->get('page'); $orderBy = $request->get('orderby'); $sortOrder = $request->get('sortorder'); $searchKey = $request->get('search_key'); $searchValue = $request->get('search_value'); $operator = $request->get('operator'); $searchParams = $request->get('search_params'); $tagParams = $request->get('tag_params'); $listHeaders = $request->get('list_headers', array()); $tag = $request->get('tag'); $requestViewName = $request->get('viewname'); $tagSessionKey = $moduleName.'_TAG'; if(!empty($requestViewName) && empty($tag)) { unset($_SESSION[$tagSessionKey]); } if(empty($tag)) { $tagSessionVal = Vtiger_ListView_Model::getSortParamsSession($tagSessionKey); if(!empty($tagSessionVal)) { $tag = $tagSessionVal; } }else{ Vtiger_ListView_Model::setSortParamsSession($tagSessionKey, $tag); } if(empty($cvId)) { $customView = new CustomView(); $cvId = $customView->getViewId($moduleName); } $listViewSessionKey = $moduleName.'_'.$cvId; if(!empty($tag)) { $listViewSessionKey .='_'.$tag; } $orderParams = Vtiger_ListView_Model::getSortParamsSession($listViewSessionKey); if($request->get('mode') == 'removeAlphabetSearch') { Vtiger_ListView_Model::deleteParamsSession($listViewSessionKey, array('search_key', 'search_value', 'operator')); $searchKey = ''; $searchValue = ''; $operator = ''; } if($request->get('mode') == 'removeSorting') { Vtiger_ListView_Model::deleteParamsSession($listViewSessionKey, array('orderby', 'sortorder')); $orderBy = ''; $sortOrder = ''; } if(empty($listHeaders)) { $listHeaders = $orderParams['list_headers']; } global $log; $log->fatal(var_export($_REQUEST,true)); if(empty($orderBy) && empty($searchValue) && empty($pageNumber)) { $orderParams = Vtiger_ListView_Model::getSortParamsSession($listViewSessionKey); $log->fatal(var_export($orderParams,true)); $log->fatal($listViewSessionKey); if($orderParams) { $pageNumber = $orderParams['page']; $orderBy = $orderParams['orderby']; $sortOrder = $orderParams['sortorder']; $searchKey = $orderParams['search_key']; $searchValue = $orderParams['search_value']; $operator = $orderParams['operator']; if(empty($tagParams)){ $tagParams = $orderParams['tag_params']; } if(empty($searchParams)) { $searchParams = $orderParams['search_params']; } } } else if($request->get('nolistcache') != 1) { $params = array('page' => $pageNumber, 'orderby' => $orderBy, 'sortorder' => $sortOrder, 'search_key' => $searchKey, 'search_value' => $searchValue, 'operator' => $operator, 'tag_params' => $tagParams,'search_params' =>$searchParams); if(!empty($listHeaders)) { $params['list_headers'] = $listHeaders; } Vtiger_ListView_Model::setSortParamsSession($listViewSessionKey, $params); } if($sortOrder == "ASC"){ $nextSortOrder = "DESC"; $sortImage = "icon-chevron-down"; $faSortImage = "fa-sort-desc"; }else{ $nextSortOrder = "ASC"; $sortImage = "icon-chevron-up"; $faSortImage = "fa-sort-asc"; } if(empty ($pageNumber)){ $pageNumber = '1'; } if(!$this->listViewModel) { $listViewModel = Vtiger_ListView_Model::getInstance($moduleName, $cvId, $listHeaders); } else { $listViewModel = $this->listViewModel; } $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view'), 'CVID'=>$cvId); $linkModels = $listViewModel->getListViewMassActions($linkParams); // preProcess is already loading this, we can reuse if(!$this->pagingModel){ $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('page', $pageNumber); $pagingModel->set('viewid', $request->get('viewname')); } else{ $pagingModel = $this->pagingModel; } if(!empty($orderBy)) { $listViewModel->set('orderby', $orderBy); $listViewModel->set('sortorder',$sortOrder); } if(!empty($operator)) { $listViewModel->set('operator', $operator); $viewer->assign('OPERATOR',$operator); $viewer->assign('ALPHABET_VALUE',$searchValue); } if(!empty($searchKey) && !empty($searchValue)) { $listViewModel->set('search_key', $searchKey); $listViewModel->set('search_value', $searchValue); } if(empty($searchParams)) { $searchParams = array(); } if(empty($tagParams)){ $tagParams = array(); } $searchParams = array_merge($searchParams, $tagParams); $transformedSearchParams = $this->transferListSearchParamsToFilterCondition($searchParams, $listViewModel->getModule()); $listViewModel->set('search_params',$transformedSearchParams); //To make smarty to get the details easily accesible foreach($searchParams as $fieldListGroup){ foreach($fieldListGroup as $fieldSearchInfo){ $fieldSearchInfo['fieldName'] = $fieldName = $fieldSearchInfo[0]; $fieldSearchInfo['comparator'] = $fieldSearchInfo[1]; $fieldSearchInfo['searchValue'] = $fieldSearchInfo[2]; $searchParams[$fieldName] = $fieldSearchInfo; } } $folderId = $request->get('folder_id'); $folderValue = $request->get('folder_value'); $listViewModel->set('folder_id',$folderId); $listViewModel->set('folder_value',$folderValue); $viewer->assign('FOLDER_ID', $folderId); $viewer->assign('FOLDER_VALUE', $folderValue); if(!$this->listViewHeaders){ $this->listViewHeaders = $listViewModel->getListViewHeaders(); } if(!$this->listViewEntries){ $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel); } $noOfEntries = count($this->listViewEntries); $viewer->assign('VIEWID', $cvId); $viewer->assign('MODULE', $moduleName); if(!$this->listViewLinks){ $this->listViewLinks = $listViewModel->getListViewLinks($linkParams); } $viewer->assign('LISTVIEW_LINKS', $this->listViewLinks); $viewer->assign('LISTVIEW_MASSACTIONS', $linkModels['LISTVIEWMASSACTION']); $viewer->assign('PAGING_MODEL', $pagingModel); if(!$this->pagingModel){ $this->pagingModel = $pagingModel; } $viewer->assign('PAGE_NUMBER',$pageNumber); if(!$this->moduleFieldStructure) { $recordStructure = Vtiger_RecordStructure_Model::getInstanceForModule($listViewModel->getModule(), Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_FILTER); $this->moduleFieldStructure = $recordStructure->getStructure(); } $currentUser = Users_Record_Model::getCurrentUserModel(); if(!$this->tags) { $this->tags = Vtiger_Tag_Model::getAllAccessible($currentUser->id, $moduleName); } if(!$this->allUserTags) { $this->allUserTags = Vtiger_Tag_Model::getAllUserTags($currentUser->getId()); } $listViewController = $listViewModel->get('listview_controller'); $selectedHeaderFields = $listViewController->getListViewHeaderFields(); $viewer->assign('ORDER_BY',$orderBy); $viewer->assign('SORT_ORDER',$sortOrder); $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder); $viewer->assign('SORT_IMAGE',$sortImage); $viewer->assign('COLUMN_NAME',$orderBy); $viewer->assign('FOLDER_NAME',$request->get('folder_value')); $viewer->assign('LISTVIEW_ENTRIES_COUNT',$noOfEntries); $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); $viewer->assign('LIST_HEADER_FIELDS', json_encode(array_keys($this->listViewHeaders))); $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); $viewer->assign('MODULE_FIELD_STRUCTURE', $this->moduleFieldStructure); $viewer->assign('SELECTED_HEADER_FIELDS', $selectedHeaderFields); $viewer->assign('TAGS', $this->tags); $viewer->assign('ALL_USER_TAGS', $this->allUserTags); $viewer->assign('CURRENT_TAG',$tag); if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) { if(!$this->listViewCount){ $this->listViewCount = $listViewModel->getListViewCount(); } $totalCount = $this->listViewCount; $pageLimit = $pagingModel->getPageLimit(); $pageCount = ceil((int) $totalCount / (int) $pageLimit); if($pageCount == 0){ $pageCount = 1; } $viewer->assign('PAGE_COUNT', $pageCount); $viewer->assign('LISTVIEW_COUNT', $totalCount); } $viewer->assign('IS_CREATE_PERMITTED', $listViewModel->getModule()->isPermitted('CreateView')); $viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView')); $viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete')); $viewer->assign('SEARCH_DETAILS', $searchParams); $viewer->assign('LIST_VIEW_MODEL', $listViewModel); $viewer->assign('NO_SEARCH_PARAMS_CACHE', $request->get('nolistcache')); $viewer->assign('VIEWID', $cvId); //Vtiger7 $viewer->assign('REQUEST_INSTANCE',$request); $viewer->assign('CUSTOM_VIEWS', CustomView_Record_Model::getAllByGroup($moduleName)); } public function validateRequest(Vtiger_Request $request) { return true; } }
[+]
..
[-] AddFolder.php
[edit]
[-] InRelation.php
[edit]
[-] Detail.php
[edit]
[-] ListAjax.php
[edit]
[-] List.php
[edit]
[-] MoveDocuments.php
[edit]
[-] QuickCreateAjax.php
[edit]
[-] Edit.php
[edit]
[-] EditAjax.php
[edit]
[-] FilePreview.php
[edit]