PATH:
home
/
letacommog
/
crmleta
/
modules
/
Reports
/
views
<?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_ChartSaveAjax_View extends Vtiger_IndexAjax_View { public function checkPermission(Vtiger_Request $request) { $record = $request->get('record'); if (!$record) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } $moduleName = $request->getModule(); $moduleModel = Reports_Module_Model::getInstance($moduleName); $reportModel = Reports_Record_Model::getCleanInstance($record); $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) { throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); } } public function process(Vtiger_Request $request) { $mode = $request->getMode(); $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $record = $request->get('record'); $reportModel = Reports_Record_Model::getInstanceById($record); $reportModel->setModule('Reports'); $reportModel->set('advancedFilter', $request->get('advanced_filter')); $secondaryModules = $reportModel->getSecondaryModules(); if(empty($secondaryModules)) { $viewer->assign('CLICK_THROUGH', true); } $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->set('reporttype', 'chart'); $reportModel->save(); $reportChartModel = Reports_Chart_Model::getInstanceById($reportModel); $data = $reportChartModel->getData(); $viewer->assign('CHART_TYPE', $reportChartModel->getChartType()); $viewer->assign('DATA', $data); $viewer->assign('MODULE', $moduleName); $viewer->assign('REPORT_MODEL', $reportModel); $isPercentExist = false; $selectedDataFields = $reportChartModel->get('datafields'); foreach ($selectedDataFields as $dataField) { list($tableName, $columnName, $moduleField, $fieldName, $single) = split(':', $dataField); list($relModuleName, $fieldLabel) = split('_', $moduleField); $relModuleModel = Vtiger_Module_Model::getInstance($relModuleName); $fieldModel = Vtiger_Field_Model::getInstance($fieldName, $relModuleModel); if ($fieldModel && $fieldModel->getFieldDataType() != 'currency') { $isPercentExist = true; break; } else if (!$fieldModel) { $isPercentExist = true; } } $yAxisFieldDataType = (!$isPercentExist) ? 'currency' : ''; $viewer->assign('YAXIS_FIELD_TYPE', $yAxisFieldDataType); $viewer->view('ChartReportContents.tpl', $moduleName); } }
[+]
..
[-] ChartEdit.php
[edit]
[-] Edit.php
[edit]
[-] ChartSaveAjax.php
[edit]
[-] SaveAjax.php
[edit]
[-] ListViewQuickPreview.php
[edit]
[-] MoveReports.php
[edit]
[-] EditFolder.php
[edit]
[-] ListAjax.php
[edit]
[-] Detail.php
[edit]
[-] ExportReport.php
[edit]
[-] List.php
[edit]
[-] ChartDetail.php
[edit]