Example #1
0
 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);
 }
Example #2
0
 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);
 }
Example #3
0
 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);
 }