getModule(); $tabId = getTabId($moduleName); $privileges = Users_Privileges_Model::getCurrentUserPrivilegesModel(); if (!$privileges->hasModulePermission($tabId)) { throw new AppException('LBL_PERMISSION_DENIED'); } } public function process(Vtiger_Request $request) { $adb = PearDatabase::getInstance(); $currentUser = Users_Record_Model::getCurrentUserModel(); $ownerId = $currentUser->getId(); $name = $request->get('name') ?: vtranslate('LBL_OOT_NEW_TEMPLATE', $request->getModule()); $module = $request->get('module_name'); if (!$module) { $r = $adb->pquery("SELECT name FROM vtiger_tab WHERE isentitytype = 1 AND presence = 0 ORDER BY name LIMIT 1", []); $module = $adb->query_result($r, 0, 'name'); } $adb->pquery( "INSERT INTO vtiger_oot_templates (name, module, s3_key, file_name, owner, created_at) VALUES (?, ?, '', '', ?, NOW())", [$name, $module, $ownerId] ); $templateId = (int)$adb->getLastInsertID(); if ($templateId <= 0) { $r = $adb->pquery("SELECT MAX(id) AS m FROM vtiger_oot_templates", []); $templateId = (int)$adb->query_result($r, 0, 'm'); } header('Location: index.php?module=OnlyOfficeTemplates&view=Edit&templateid=' . $templateId . '&app=TOOLS'); } }