コード例 #1
0
ファイル: Pagination.php プロジェクト: Bergdahls/YetiForceCRM
 public function getPagination(Vtiger_Request $request)
 {
     parent::preProcess($request, false);
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
     $folders = $moduleModel->getFolders();
     $listViewModel = new Reports_ListView_Model();
     $listViewModel->set('module', $moduleModel);
     $folderId = $request->get('viewname');
     if (empty($folderId) || $folderId == 'undefined') {
         $folderId = 'All';
     }
     $sortBy = $request->get('sortorder');
     $orderBy = $request->get('orderby');
     $listViewModel->set('folderid', $folderId);
     $listViewModel->set('orderby', $orderBy);
     $listViewModel->set('sortorder', $sortBy);
     $linkModels = $listViewModel->getListViewLinks();
     $pageNumber = $request->get('page');
     $listViewMassActionModels = $listViewModel->getListViewMassActions();
     if (empty($pageNumber)) {
         $pageNumber = '1';
     }
     $pagingModel = new Vtiger_Paging_Model();
     $pagingModel->set('page', $pageNumber);
     $viewer->assign('PAGING_MODEL', $pagingModel);
     if (!$this->listViewHeaders) {
         $this->listViewHeaders = $listViewModel->getListViewHeaders();
     }
     if (!$this->listViewEntries) {
         $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel);
     }
     $noOfEntries = count($this->listViewEntries);
     $viewer->assign('LISTVIEW_LINKS', $linkModels);
     $viewer->assign('FOLDERS', $folders);
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('VIEWNAME', $folderId);
     $viewer->assign('PAGE_NUMBER', $pageNumber);
     $viewer->assign('LISTVIEW_MASSACTIONS', $listViewMassActionModels);
     $viewer->assign('LISTVIEW_ENTRIES_COUNT', $noOfEntries);
     if (!$this->listViewCount) {
         $this->listViewCount = $listViewModel->getListViewCount();
     }
     $totalCount = $this->listViewCount;
     $pagingModel->set('totalCount', (int) $totalCount);
     $pageCount = $pagingModel->getPageCount();
     $startPaginFrom = $pagingModel->getStartPagingFrom();
     $viewer->assign('PAGE_COUNT', $pageCount);
     $viewer->assign('LISTVIEW_COUNT', $totalCount);
     $viewer->assign('START_PAGIN_FROM', $startPaginFrom);
     $viewer->assign('PAGING_MODEL', $pagingModel);
     echo $viewer->view('Pagination.tpl', $moduleName, true);
 }
コード例 #2
0
ファイル: List.php プロジェクト: rubichcube/YetiForceCRM
	function process(Vtiger_Request $request)
	{
		$viewer = $this->getViewer($request);
		$moduleName = $request->getModule();
		$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
		$folders = $moduleModel->getFolders();
		$folderId = $request->get('viewname');
		if (empty($folderId) || $folderId == 'undefined') {
			$folderId = 'All';
		}
		$pageNumber = $request->get('page');
		$orderBy = $request->get('orderby');

		$sortOrder = $request->get('sortorder');
		if ($sortOrder == "ASC") {
			$nextSortOrder = "DESC";
			$sortImage = "glyphicon glyphicon-chevron-down";
		} else {
			$nextSortOrder = "ASC";
			$sortImage = "glyphicon glyphicon-chevron-up";
		}

		$listViewModel = new Reports_ListView_Model();
		$listViewModel->set('module', $moduleModel);
		$listViewModel->set('folderid', $folderId);

		if (!empty($orderBy)) {
			$listViewModel->set('orderby', $orderBy);
			$listViewModel->set('sortorder', $sortOrder);
		}
		$listViewMassActionModels = $listViewModel->getListViewMassActions();
		if (empty($pageNumber)) {
			$pageNumber = '1';
		}
		$viewer->assign('MODULE', $moduleName);
		$pagingModel = new Vtiger_Paging_Model();
		$pagingModel->set('page', $pageNumber);
		$viewer->assign('PAGING_MODEL', $pagingModel);

		$viewer->assign('LISTVIEW_MASSACTIONS', $listViewMassActionModels);

		if (!$this->listViewHeaders) {
			$this->listViewHeaders = $listViewModel->getListViewHeaders();
		}
		if ($folderId == 'All') {
			$this->listViewHeaders['foldername'] = 'LBL_FOLDER_NAME';
		}

		if (!$this->listViewEntries) {
			$this->listViewEntries = $listViewModel->getListViewEntries($pagingModel);
		}
		$moduleModel = Vtiger_Module_Model::getInstance($moduleName);

		$noOfEntries = count($this->listViewEntries);

		$viewer->assign('PAGE_NUMBER', $pageNumber);
		$viewer->assign('LISTVIEW_ENTRIES_COUNT', $noOfEntries);
		$viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders);
		$viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries);
		$viewer->assign('MODULE_MODEL', $moduleModel);
		$viewer->assign('VIEWNAME', $folderId);

		$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('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel());

		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->view('ListViewContents.tpl', $moduleName);
	}
コード例 #3
0
ファイル: Achs.php プロジェクト: yunter/crm
 function process(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
     $folders = $moduleModel->getFolders();
     $folderId = $request->get('viewname');
     if (empty($folderId) || $folderId == 'undefined') {
         $folderId = 'All';
     }
     $pageNumber = $request->get('page');
     $orderBy = $request->get('orderby');
     $sortOrder = $request->get('sortorder');
     if ($sortOrder == "ASC") {
         $nextSortOrder = "DESC";
         $sortImage = "icon-chevron-down";
     } else {
         $nextSortOrder = "ASC";
         $sortImage = "icon-chevron-up";
     }
     $listViewModel = new Reports_ListView_Model();
     $listViewModel->set('module', $moduleModel);
     $listViewModel->set('folderid', $folderId);
     if (!empty($orderBy)) {
         $listViewModel->set('orderby', $orderBy);
         $listViewModel->set('sortorder', $sortOrder);
     }
     $listViewMassActionModels = $listViewModel->getListViewMassActions();
     if (empty($pageNumber)) {
         $pageNumber = '1';
     }
     $viewer->assign('MODULE', $moduleName);
     $pagingModel = new Vtiger_Paging_Model();
     $pagingModel->set('page', $pageNumber);
     $viewer->assign('PAGING_MODEL', $pagingModel);
     $viewer->assign('LISTVIEW_MASSACTIONS', $listViewMassActionModels);
     if (!$this->listViewHeaders) {
         $this->listViewHeaders = $listViewModel->getListViewHeaders();
     }
     if ($folderId == 'All') {
         $this->listViewHeaders['foldername'] = 'LBL_FOLDER_NAME';
     }
     if (!$this->listViewEntries) {
         $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel);
     }
     $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
     $noOfEntries = count($this->listViewEntries);
     $viewer->assign('PAGE_NUMBER', 1);
     $viewer->assign('LISTVIEW_ENTRIES_COUNT', $noOfEntries);
     $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders);
     $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries);
     $viewer->assign('MODULE_MODEL', $moduleModel);
     $viewer->assign('VIEWNAME', $folderId);
     $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('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel());
     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', 1);
         $viewer->assign('LISTVIEW_COUNT', 1);
     }
     //当月
     $startTime = ' 00:00:00';
     $endTime = ' 23:59:59';
     $c_year = empty(trim($request->get('c_year'))) ? date('Y') : trim($request->get('c_year'));
     $c_month = empty(trim($request->get('c_month'))) ? date('m') : trim($request->get('c_month'));
     $viewer->assign('C_YEAR', $c_year);
     $viewer->assign('C_MONTH', $c_month);
     $s_day = date($c_year . '-' . $c_month . '-01');
     $f_day = date($c_year . '-' . $c_month . '-d', strtotime("{$s_day} +1 month -1 day"));
     $viewer->assign('ACHS', $listViewModel->getAchs($s_day . $startTime, $f_day . $endTime));
     $viewer->assign('START_TIME', $s_day);
     $viewer->assign('END_TIME', $f_day);
     $t_startDate = date('Y-m-01', strtotime("{$s_day} -1 month"));
     $t_endDate = date('Y-m-t', strtotime("{$s_day} -1 month"));
     $viewer->assign('T_START_TIME', $t_startDate);
     $viewer->assign('T_END_TIME', $t_endDate);
     $viewer->assign('TACHS', $listViewModel->getAchs($t_startDate . $startTime, $t_endDate . $endTime));
     $h_startDate = date('Y-m-01', strtotime("{$s_day} -6 months"));
     $h_endDate = date('Y-m-d', strtotime("{$s_day} -1 day"));
     $viewer->assign('H_START_TIME', $h_startDate);
     $viewer->assign('H_END_TIME', $h_endDate);
     $viewer->assign('HACHS', $listViewModel->getAchs($h_startDate . $startTime, $h_endDate . $endTime));
     $y_startDate = date('Y-01-01', strtotime($s_day));
     $y_endDate = date('Y-12-t', strtotime($s_day));
     $viewer->assign('Y_START_TIME', $y_startDate);
     $viewer->assign('Y_END_TIME', $y_endDate);
     $viewer->assign('YACHS', $listViewModel->getAchs($y_startDate . $startTime, $y_endDate . $endTime));
     $viewer->view('AchsViewContents.tpl', $moduleName);
 }