[ 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.0 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 Reports_SaveAjax_View extends Vtiger_IndexAjax_View { 12 13 public function checkPermission(Vtiger_Request $request) { 14 $record = $request->get('record'); 15 if (!$record) { 16 throw new AppException('LBL_PERMISSION_DENIED'); 17 } 18 19 $moduleName = $request->getModule(); 20 $moduleModel = Reports_Module_Model::getInstance($moduleName); 21 $reportModel = Reports_Record_Model::getCleanInstance($record); 22 23 $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); 24 if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId()) && !$reportModel->isEditable()) { 25 throw new AppException('LBL_PERMISSION_DENIED'); 26 } 27 } 28 29 public function process(Vtiger_Request $request) { 30 $mode = $request->getMode(); 31 $viewer = $this->getViewer($request); 32 $moduleName = $request->getModule(); 33 34 $record = $request->get('record'); 35 $reportModel = Reports_Record_Model::getInstanceById($record); 36 37 $reportModel->setModule('Reports'); 38 39 $reportModel->set('advancedFilter', $request->get('advanced_filter')); 40 41 $page = $request->get('page'); 42 $pagingModel = new Vtiger_Paging_Model(); 43 $pagingModel->set('page', $page); 44 $pagingModel->set('limit', Reports_Detail_View::REPORT_LIMIT); 45 46 if ($mode === 'save') { 47 $reportModel->saveAdvancedFilters(); 48 $reportData = $reportModel->getReportData($pagingModel); 49 $data = $reportData['data']; 50 } else if ($mode === 'generate') { 51 $reportData = $reportModel->generateData($pagingModel); 52 $data = $reportData['data']; 53 } 54 $calculation = $reportModel->generateCalculationData(); 55 56 $viewer->assign('PRIMARY_MODULE', $reportModel->getPrimaryModule()); 57 $viewer->assign('CALCULATION_FIELDS', $calculation); 58 $viewer->assign('DATA', $data); 59 $viewer->assign('RECORD_ID', $record); 60 $viewer->assign('PAGING_MODEL', $pagingModel); 61 $viewer->assign('MODULE', $moduleName); 62 $viewer->assign('NEW_COUNT',$reportData['count']); 63 $viewer->assign('REPORT_RUN_INSTANCE', ReportRun::getInstance($record)); 64 $viewer->view('ReportContents.tpl', $moduleName); 65 } 66 67 public function validateRequest(Vtiger_Request $request) { 68 $request->validateWriteAccess(); 69 } 70 }
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 |