[ 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_Save_Action extends Vtiger_Save_Action { 12 13 public function checkPermission(Vtiger_Request $request) { 14 $moduleName = $request->getModule(); 15 $moduleModel = Reports_Module_Model::getInstance($moduleName); 16 17 $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); 18 if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) { 19 throw new AppException('LBL_PERMISSION_DENIED'); 20 } 21 22 $record = $request->get('record'); 23 if ($record) { 24 $reportModel = Reports_Record_Model::getCleanInstance($record); 25 if (!$reportModel->isEditable()) { 26 throw new AppException('LBL_PERMISSION_DENIED'); 27 } 28 } 29 } 30 31 public function process(Vtiger_Request $request) { 32 $moduleName = $request->getModule(); 33 34 $record = $request->get('record'); 35 $reportModel = new Reports_Record_Model(); 36 $reportModel->setModule('Reports'); 37 if(!empty($record) && !$request->get('isDuplicate')) { 38 $reportModel->setId($record); 39 } 40 41 $reporttype = $request->get('reporttype'); 42 if(empty($reporttype)) $reporttype='tabular'; 43 $reportModel->set('reportname', $request->get('reportname')); 44 $reportModel->set('folderid', $request->get('folderid')); 45 $reportModel->set('description', $request->get('reports_description')); 46 $reportModel->set('reporttype', $reporttype); 47 48 $reportModel->setPrimaryModule($request->get('primary_module')); 49 50 $secondaryModules = $request->get('secondary_modules'); 51 $secondaryModules = implode(':', $secondaryModules); 52 $reportModel->setSecondaryModule($secondaryModules); 53 54 $reportModel->set('selectedFields', $request->get('selected_fields')); 55 $reportModel->set('sortFields', $request->get('selected_sort_fields')); 56 $reportModel->set('calculationFields', $request->get('selected_calculation_fields')); 57 58 $reportModel->set('standardFilter', $request->get('standard_fiter')); 59 $reportModel->set('advancedFilter', $request->get('advanced_filter')); 60 $reportModel->set('advancedGroupFilterConditions', $request->get('advanced_group_condition')); 61 62 $reportModel->save(); 63 64 //Scheduled Reports 65 $scheduleReportModel = new Reports_ScheduleReports_Model(); 66 $scheduleReportModel->set('scheduleid', $request->get('schtypeid')); 67 $scheduleReportModel->set('schtime', $request->get('schtime')); 68 $scheduleReportModel->set('schdate', $request->get('schdate')); 69 $scheduleReportModel->set('schdayoftheweek', $request->get('schdayoftheweek')); 70 $scheduleReportModel->set('schdayofthemonth', $request->get('schdayofthemonth')); 71 $scheduleReportModel->set('schannualdates', $request->get('schannualdates')); 72 $scheduleReportModel->set('reportid', $reportModel->getId()); 73 $scheduleReportModel->set('recipients', $request->get('recipients')); 74 $scheduleReportModel->set('isReportScheduled', $request->get('enable_schedule')); 75 $scheduleReportModel->set('specificemails', $request->get('specificemails')); 76 $scheduleReportModel->saveScheduleReport(); 77 //END 78 79 $loadUrl = $reportModel->getDetailViewUrl(); 80 header("Location: $loadUrl"); 81 } 82 }
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 |