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', json_encode($data, JSON_HEX_APOS)); $viewer->assign('MODULE', $moduleName); $viewer->view('ChartReportContents.tpl', $moduleName); }
function step3(Vtiger_request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $record = $request->get('record'); $reportModel = Reports_Record_Model::getCleanInstance($record); if (!empty($record)) { $viewer->assign('SELECTED_STANDARD_FILTER_FIELDS', $reportModel->getSelectedStandardFilter()); $viewer->assign('SELECTED_ADVANCED_FILTER_FIELDS', $reportModel->transformToNewAdvancedFilter()); } $data = $request->getAll(); foreach ($data as $name => $value) { $reportModel->set($name, $value); } $primaryModule = $request->get('primary_module'); $secondaryModules = $request->get('secondary_modules'); $reportModel->setPrimaryModule($primaryModule); if (!empty($secondaryModules)) { $secondaryModules = implode(':', $secondaryModules); $reportModel->setSecondaryModule($secondaryModules); $secondaryModules = explode(':', $secondaryModules); } else { $secondaryModules = array(); } $chartModel = Reports_Chart_Model::getInstanceById($reportModel); $viewer->assign('CHART_MODEL', $chartModel); $viewer->assign('ADVANCED_FILTERS', $request->get('advanced_filter')); $viewer->assign('PRIMARY_MODULE_FIELDS', $reportModel->getPrimaryModuleFieldsForAdvancedReporting()); $viewer->assign('SECONDARY_MODULE_FIELDS', $reportModel->getSecondaryModuleFieldsForAdvancedReporting()); $viewer->assign('CALCULATION_FIELDS', $reportModel->getModuleCalculationFieldsForReport()); if ($request->get('isDuplicate')) { $viewer->assign('IS_DUPLICATE', true); } $viewer->assign('RECORD_ID', $record); $viewer->assign('REPORT_MODEL', $reportModel); $viewer->assign('PRIMARY_MODULE', $primaryModule); $viewer->assign('SECONDARY_MODULES', $secondaryModules); $viewer->assign('MODULE', $moduleName); $viewer->view('ChartEditStep3.tpl', $moduleName); }
function getReport(Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $record = $request->get('record'); $reportModel = Reports_Record_Model::getInstanceById($record); $reportChartModel = Reports_Chart_Model::getInstanceById($reportModel); $secondaryModules = $reportModel->getSecondaryModules(); if (empty($secondaryModules)) { $viewer->assign('CLICK_THROUGH', true); } $viewer->assign('ADVANCED_FILTERS', $request->get('advanced_filter')); $viewer->assign('PRIMARY_MODULE_FIELDS', $reportModel->getPrimaryModuleFields()); $viewer->assign('SECONDARY_MODULE_FIELDS', $reportModel->getSecondaryModuleFields()); $viewer->assign('CALCULATION_FIELDS', $reportModel->getModuleCalculationFieldsForReport()); $data = $reportChartModel->getData(); $viewer->assign('CHART_TYPE', $reportChartModel->getChartType()); $viewer->assign('DATA', json_encode($data, JSON_HEX_APOS)); $viewer->assign('REPORT_MODEL', $reportModel); $viewer->assign('RECORD_ID', $record); $viewer->assign('REPORT_MODEL', $reportModel); $viewer->assign('SECONDARY_MODULES', $secondaryModules); $viewer->assign('MODULE', $moduleName); $viewer->view('ChartReportContents.tpl', $moduleName); }