getViewer($request); $moduleName = $request->getModule(); if(!empty($moduleName)) { $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $currentUser = Users_Record_Model::getCurrentUserModel(); $userPrivilegesModel = Users_Privileges_Model::getInstanceById($currentUser->getId()); $permission = $userPrivilegesModel->hasModulePermission($moduleModel->getId()); $viewer->assign('MODULE', $moduleName); if(!$permission) { $viewer->assign('MESSAGE', 'LBL_PERMISSION_DENIED'); $viewer->view('OperationNotPermitted.tpl', $moduleName); exit; } $linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view')); $linkModels = $moduleModel->getSideBarLinks($linkParams); $viewer->assign('QUICK_LINKS', $linkModels); } $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('CURRENT_VIEW', $request->get('view')); if($display) { $this->preProcessDisplay($request); } } protected function preProcessTplName(Vtiger_Request $request) { return 'IndexViewPreProcess.tpl'; } //Note : To get the right hook for immediate parent in PHP, // specially in case of deep hierarchy /*function preProcessParentTplName(Vtiger_Request $request) { return parent::preProcessTplName($request); }*/ public function postProcess(Vtiger_Request $request) { $moduleName = $request->getModule(); $viewer = $this->getViewer($request); $viewer->view('IndexPostProcess.tpl', $moduleName); parent::postProcess($request); } public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $viewer = $this->getViewer($request); $viewer->view('Index.tpl', $moduleName); } /** * Function to get the list of Script models to be included * @param Vtiger_Request $request * @return - List of Vtiger_JsScript_Model instances */ function getHeaderScripts(Vtiger_Request $request) { $headerScriptInstances = parent::getHeaderScripts($request); $moduleName = $request->getModule(); $jsFileNames = array( 'modules.Vtiger.resources.Vtiger', "modules.$moduleName.resources.$moduleName", ); $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); return $headerScriptInstances; } public function validateRequest(Vtiger_Request $request) { $request->validateReadAccess(); } }