41 lines
1.6 KiB
PHP
41 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* Create a draft template record and redirect to Edit (OnlyOffice editor).
|
|
*/
|
|
|
|
class OnlyOfficeTemplates_CreateDraft_Action extends Vtiger_Action_Controller
|
|
{
|
|
public function checkPermission(Vtiger_Request $request)
|
|
{
|
|
$moduleName = $request->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');
|
|
}
|
|
}
|