From be0ca108a536c57ef6003ec1e3fa56f7ba3be016 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Tue, 22 Apr 2025 16:33:47 +0800 Subject: [PATCH] * [task#141983,doing,1.5h] Add chapter for doc template. --- module/doc/control.php | 6 +++--- module/doc/js/browsetemplate.ui.js | 19 ++++++++++++++++++- module/doc/ui/setdocbasic.template.html.php | 4 ++-- module/doc/ui/templatelist.html.php | 1 + 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/module/doc/control.php b/module/doc/control.php index 96788d7c87..7f948cfe7e 100755 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -658,13 +658,13 @@ class doc extends control ->setDefault('addedBy', $this->app->user->account) ->setDefault('editedBy', $this->app->user->account) ->get(); - $docData->templateDesc = $_POST['desc']; + $docData->templateDesc = zget($_POST, 'desc', ''); $_POST['type'] = 'docTemplate'; - if(!empty($_POST['parent'])) + if(!empty($docData->parent)) { - $parentTemplate = $this->doc->fetchByID((int)$_POST['parent']); + $parentTemplate = $this->doc->fetchByID((int)$docData->parent); $docData->module = $parentTemplate->module; $docData->lib = (int)$parentTemplate->lib; $docData->acl = $parentTemplate->acl; diff --git a/module/doc/js/browsetemplate.ui.js b/module/doc/js/browsetemplate.ui.js index 30bd9f1bbb..2c41c134ae 100644 --- a/module/doc/js/browsetemplate.ui.js +++ b/module/doc/js/browsetemplate.ui.js @@ -181,7 +181,7 @@ function submitNewDoc(doc, spaceID, libID, moduleID, formData, afterCreate) content : doc.html, status : doc.status || 'normal', contentType : doc.contentType, - type : 'text', + type : doc.type || 'text', lib : libID, module : moduleID, title : doc.title, @@ -191,6 +191,7 @@ function submitNewDoc(doc, spaceID, libID, moduleID, formData, afterCreate) project : 0, templateType: module && module.data ? module.data.short : '', uid : (doc.uid || `doc${doc.id}`), + parent : doc.parent }; if(formData) mergeDocFormData(docData, formData); docApp.props.fetcher = $.createLink('doc', 'ajaxGetSpaceData', `type=template&spaceID=${spaceID}&picks={picks}&libID=${libID}`); @@ -494,6 +495,22 @@ $.extend(window.docAppCommands, }); }); }, + addChapter: function(_, args) + { + const docApp = getDocApp(); + const {spaceID, libID, moduleID} = docApp; + return showDocBasicModal(args[0], 0, false, 'chapter').then((formData) => { + const doc = {type: 'chapter', status: 'normal', parent: args[0]}; + return submitNewDoc(doc, spaceID, libID, moduleID, formData).then(() => { + docApp.load(null, null, null, {noLoading: false, picks: 'doc'}); + if(docBasicModal.current) + { + docBasicModal.current.destroy(); + docBasicModal = {}; + } + }); + }); + }, deleteDoc: function(_, args) { const docApp = getDocApp(); diff --git a/module/doc/ui/setdocbasic.template.html.php b/module/doc/ui/setdocbasic.template.html.php index d34e7c0876..632dc67860 100644 --- a/module/doc/ui/setdocbasic.template.html.php +++ b/module/doc/ui/setdocbasic.template.html.php @@ -57,11 +57,11 @@ formPanel set::required(true) ), ) : null, - formGroup + $modalType != 'chapter' ? formGroup ( set::label($lang->docTemplate->desc), textarea(set::name('desc'), set::value($docID ? $doc->templateDesc : ''), set::rows(3)) - ), + ) : null, empty($parentID) ? formGroup ( set::label($lang->doclib->control), diff --git a/module/doc/ui/templatelist.html.php b/module/doc/ui/templatelist.html.php index 7f1abb0928..d19c095ac5 100644 --- a/module/doc/ui/templatelist.html.php +++ b/module/doc/ui/templatelist.html.php @@ -25,6 +25,7 @@ $privs['addModule'] = hasPriv('doc', 'addTemplateType'); $privs['editModule'] = hasPriv('doc', 'editTemplateType'); $privs['deleteModule'] = hasPriv('doc', 'deleteTemplateType'); $privs['moveDoc'] = hasPriv('doc', 'moveTemplate'); +$privs['addChapter'] = hasPriv('doc', 'createTemplate'); $privs['collect'] = 'no'; $filterTypes = $lang->docTemplate->filterTypes;