[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Reports/actions/ -> Save.php (source)

   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  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1