Files
crm.clientright.ru/modules/Reports/actions/ChartSave.php

64 lines
2.8 KiB
PHP
Raw Normal View History

<?php
/*+***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("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 Reports_ChartSave_Action extends Reports_Save_Action {
public function process(Vtiger_Request $request) {
$moduleName = $request->getModule();
$record = $request->get('record');
$reportModel = new Reports_Record_Model();
$reportModel->setModule('Reports');
if(!empty($record) && !$request->get('isDuplicate')) {
$reportModel->setId($record);
}
$reportModel->set('reportname', $request->get('reportname'));
$reportModel->set('folderid', $request->get('reportfolderid'));
$reportModel->set('description', $request->get('reports_description'));
$reportModel->set('members', $request->get('members'));
$reportModel->setPrimaryModule($request->get('primary_module'));
$secondaryModules = $request->get('secondary_modules');
$secondaryModules = implode(':', $secondaryModules);
$reportModel->setSecondaryModule($secondaryModules);
$reportModel->set('advancedFilter', $request->get('advanced_filter'));
$reportModel->set('reporttype', 'chart');
$dataFields = $request->get('datafields', 'count(*)');
if(is_string($dataFields)) $dataFields = array($dataFields);
$reportModel->set('reporttypedata', Zend_Json::encode(array(
'type'=>$request->get('charttype', 'pieChart'),
'groupbyfield'=>$request->get('groupbyfield'),
'datafields'=>$dataFields)
));
$reportModel->save();
$scheduleReportModel = new Reports_ScheduleReports_Model();
$scheduleReportModel->set('scheduleid', $request->get('schtypeid'));
$scheduleReportModel->set('schtime', date('H:i', strtotime($request->get('schtime'))));
$scheduleReportModel->set('schdate', $request->get('schdate'));
$scheduleReportModel->set('schdayoftheweek', $request->get('schdayoftheweek'));
$scheduleReportModel->set('schdayofthemonth', $request->get('schdayofthemonth'));
$scheduleReportModel->set('schannualdates', $request->get('schannualdates'));
$scheduleReportModel->set('reportid', $reportModel->getId());
$scheduleReportModel->set('recipients', $request->get('recipients'));
$scheduleReportModel->set('isReportScheduled', $request->get('enable_schedule'));
$scheduleReportModel->set('specificemails', $request->get('specificemails'));
$scheduleReportModel->saveScheduleReport();
$loadUrl = $reportModel->getDetailViewUrl();
header("Location: $loadUrl");
}
}