/** * Function to get the instance * @param <String> $moduleName - module name * @param <String> $recordId - record id * @return <Vtiger_DetailView_Model> */ public static function getInstance($moduleName, $recordId) { $modelClassName = Vtiger_Loader::getComponentClassName('Model', 'DetailView', $moduleName); $instance = new $modelClassName(); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $recordModel = ITS4YouReports_Record_Model::getCleanInstance($recordId, $moduleName); return $instance->setModule($moduleModel)->setRecord($recordModel); }
function checkPermission(Vtiger_Request $request) { $moduleName = $request->getModule(); $moduleModel = ITS4YouReports_Module_Model::getInstance($moduleName); $record = $request->get('record'); $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record); $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) { throw new AppException('LBL_PERMISSION_DENIED'); } }
public static function ReportCustomSql(Vtiger_Request $request, $viewer) { $moduleName = $request->getModule(); $record = $request->get('record'); $mode = $request->get('mode'); $adb = PearDatabase::getInstance(); $current_user = Users_Record_Model::getCurrentUserModel(); $viewer->assign("MODULE", $moduleName); $record = $request->get('record'); $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record); $viewer->assign("RECORDID", $record); $report_custom_sql = ITS4YouReports::validateCustomSql($reportModel->report->reportinformations["custom_sql"]); $viewer->assign("REPORT_CUSTOM_SQL", $report_custom_sql); return $viewer->view("ReportCustomSQL.tpl", $moduleName, true); }
function addWidget() { $success = false; global $adb; global $current_user; $request = new Vtiger_Request($_REQUEST, $_REQUEST); $record = $request->get("record"); if ($record != "") { $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record); $createResult = $reportModel->checkDashboardWidget(); } if ($createResult == "Created") { $result = array("success" => false, "message" => vtranslate("LBL_ADD_WIDGET_SUCCESS", "ITS4YouReports")); } elseif ($createResult == "Exist") { $result = array("success" => false, "message" => vtranslate("LBL_ADD_WIDGET_ERROR_EXIST", "ITS4YouReports")); } else { $result = array("success" => false, "message" => vtranslate("LBL_ADD_WIDGET_ERROR", "ITS4YouReports")); } $response = new Vtiger_Response(); try { $response->setResult($result); } catch (Exception $e) { $response->setError($e->getCode(), $e->getMessage()); } $response->emit(); }
function editReport(Vtiger_Request $request) { $viewer = $this->getViewer($request); //ITS4YouReports::define_rt_vars(true,true); //ITS4YouReports::getR4UDifTime(1); $moduleName = $request->getModule(); $record = $request->get('record'); $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record); if (!$reportModel->has('folderid')) { $reportModel->set('folderid', $request->get('folder')); } $data = $request->getAll(); foreach ($data as $name => $value) { $reportModel->set($name, $value); } if ($request->has("reporttype") && !$request->isEmpty("reporttype")) { $reportModel->set('reporttype', $request->get('reporttype')); } if ($record != "") { $viewer->assign('MODE', 'edit'); $reporttype = $reportModel->getReportType(); } else { $viewer->assign('MODE', 'create'); $reporttype = $request->get('reporttype'); } $viewer->assign('REPORTTYPE', $reporttype); global $current_user; $is_admin_user = is_admin($current_user); $viewer->assign('IS_ADMIN_USER', $is_admin_user); $viewer->assign("steps_display", "reportTab hide"); //$viewer->assign("steps_display","reportTab"); /* global $current_user;if($current_user->id=="1"){ $viewer->assign("steps_display","reportTab"); //ITS4YouReports::sshow($ReportColumnsTotal); } */ $viewer->assign("cancel_btn_url", $reportModel->getCancelViewUrl()); //ITS4YouReports::getR4UDifTime(2); if ($reporttype == "") { $viewer->view('ITS4YouReportsType.tpl', $moduleName); } else { $reportModuleModel = $reportModel->getModule(); $viewer->assign("REPORTNAME", $reportModel->getName()); $viewer->assign("REPORTDESC", $reportModel->getDesc()); $viewer->assign("REP_FOLDERS", $reportModel->getReportFolders()); $ReportSharing = ITS4YouReports_EditView_Model::ReportSharing($request, $viewer); $viewer->assign("REPORT_SHARING", $ReportSharing); $ReportScheduler = ITS4YouReports_EditView_Model::ReportScheduler($request, $viewer); $viewer->assign("REPORT_SCHEDULER", $ReportScheduler); //ITS4YouReports::getR4UDifTime(3); if ($reporttype == "custom_report") { if ($is_admin_user != 1) { ITS4YouReports::DieDuePermission(); } // ITS4YouReports::sshow($reporttype); $ReportCustomSQL = ITS4YouReports_EditView_Model::ReportCustomSql($request, $viewer); $viewer->assign("REPORT_CUSTOMSQL", $ReportCustomSQL); $viewer->view('EditCustom.tpl', $moduleName); } else { if ($request->get('isDuplicate')) { $viewer->assign('isDuplicate', 'true'); } $viewer->assign("PRIMARYMODULES", $reportModel->getPrimaryModules()); //ITS4YouReports::getR4UDifTime(4); $ReportGrouping = ITS4YouReports_EditView_Model::ReportGrouping($request, $viewer); $viewer->assign("REPORT_GROUPING", $ReportGrouping); //ITS4YouReports::getR4UDifTime(5); $ReportColumns = ITS4YouReports_EditView_Model::ReportColumns($request, $viewer); $viewer->assign("REPORT_COLUMNS", $ReportColumns); //ITS4YouReports::getR4UDifTime(6); $ReportColumnsTotal = ITS4YouReports_EditView_Model::ReportColumnsTotal($request, $viewer); $viewer->assign("REPORT_COLUMNS_TOTAL", $ReportColumnsTotal); //ITS4YouReports::getR4UDifTime(7); $ReportLabels = ITS4YouReports_EditView_Model::ReportLabels($request, $viewer); $viewer->assign("REPORT_LABELS", $ReportLabels); //ITS4YouReports::getR4UDifTime(8); $ReportFilters = ITS4YouReports_EditView_Model::ReportFilters($request, $viewer); $viewer->assign("REPORT_FILTERS", $ReportFilters); //ITS4YouReports::getR4UDifTime(9); $ReportGraphs = ITS4YouReports_EditView_Model::ReportGraphs($request, $viewer); $viewer->assign("REPORT_GRAPHS", $ReportGraphs); //ITS4YouReports::getR4UDifTime(10); //exit; $viewer->view('Edit.tpl', $moduleName); } } }