Merge branch dev/bug-64371 of zentao/zentaopms (#10657)

This commit is contained in:
刘刚
2025-07-30 11:55:04 +08:00
committed by Gitfox
4 changed files with 32 additions and 27 deletions
+1
View File
@@ -640,6 +640,7 @@ function handleSaveDoc(doc)
space : spaceType,
uid : (doc.uid || `doc${doc.id}`),
};
if(Array.isArray(doc.files)) docData.files = doc.files.map(f => typeof f === 'object' ? f.id : f).join(',');
if(doc.fromVersion) docData.fromVersion = doc.fromVersion;
if(savingDocData[doc.id])
+23 -21
View File
@@ -66,27 +66,29 @@ $config->doc->form->create['chapterType'] = array('type' => 'string', 'requir
$config->doc->form->createtemplate = $config->doc->form->create;
$config->doc->form->createtemplate['templateDesc'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['title'] = array('type' => 'string', 'required' => true, 'default' => '', 'filter' => 'trim');
$config->doc->form->edit['product'] = array('type' => 'int', 'required' => false, 'default' => 0);
$config->doc->form->edit['project'] = array('type' => 'int', 'required' => false, 'default' => 0);
$config->doc->form->edit['execution'] = array('type' => 'int', 'required' => false, 'default' => 0);
$config->doc->form->edit['module'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['lib'] = array('type' => 'int', 'required' => false, 'default' => 0, 'skipRequired' => true);
$config->doc->form->edit['status'] = array('type' => 'string', 'required' => false, 'default' => 'normal');
$config->doc->form->edit['parent'] = array('type' => 'int', 'required' => false, 'default' => 0);
$config->doc->form->edit['type'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['keywords'] = array('type' => 'string', 'required' => false, 'default' => '', 'skipRequired' => true);
$config->doc->form->edit['acl'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['contentType']= array('type' => 'string', 'required' => false, 'default' => 'doc');
$config->doc->form->edit['content'] = array('type' => 'string', 'required' => false, 'default' => '', 'control' => 'editor', 'skipRequired' => true);
$config->doc->form->edit['rawContent'] = array('type' => 'string', 'required' => false, 'default' => '', 'skipRequired' => true, 'specialchars' => 'no');
$config->doc->form->edit['groups'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['users'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['readGroups'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['readUsers'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['mailto'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['editedBy'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['editedDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
$config->doc->form->edit['title'] = array('type' => 'string', 'required' => true, 'default' => '', 'filter' => 'trim');
$config->doc->form->edit['product'] = array('type' => 'int', 'required' => false, 'default' => 0);
$config->doc->form->edit['project'] = array('type' => 'int', 'required' => false, 'default' => 0);
$config->doc->form->edit['execution'] = array('type' => 'int', 'required' => false, 'default' => 0);
$config->doc->form->edit['module'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['lib'] = array('type' => 'int', 'required' => false, 'default' => 0, 'skipRequired' => true);
$config->doc->form->edit['status'] = array('type' => 'string', 'required' => false, 'default' => 'normal');
$config->doc->form->edit['parent'] = array('type' => 'int', 'required' => false, 'default' => 0);
$config->doc->form->edit['type'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['keywords'] = array('type' => 'string', 'required' => false, 'default' => '', 'skipRequired' => true);
$config->doc->form->edit['acl'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['contentType'] = array('type' => 'string', 'required' => false, 'default' => 'doc');
$config->doc->form->edit['content'] = array('type' => 'string', 'required' => false, 'default' => '', 'control' => 'editor', 'skipRequired' => true);
$config->doc->form->edit['rawContent'] = array('type' => 'string', 'required' => false, 'default' => '', 'skipRequired' => true, 'specialchars' => 'no');
$config->doc->form->edit['groups'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['users'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['readGroups'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['readUsers'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['mailto'] = array('type' => 'array', 'required' => false, 'default' => '', 'filter' => 'join');
$config->doc->form->edit['editedBy'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['editedDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
$config->doc->form->edit['fromVersion'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edit['files'] = array('type' => 'string', 'required' => false, 'default' => '');
$config->doc->form->edittemplate = $config->doc->form->edit;
$config->doc->form->edittemplate['templateDesc'] = array('type' => 'string', 'required' => false, 'default' => '');
+3 -1
View File
@@ -1678,8 +1678,9 @@ class docModel extends model
$docContent->doc = $docID;
$docContent->addedBy = $docContent->editedBy;
$docContent->addedDate = $docContent->editedDate;
$docContent->files = implode(',', $files);
$docContent->files = (!empty($docData->files) && is_string($docData->files)) ? (',' . $docData->files) : implode(',', $files);
$docContent->fromVersion = isset($docData->fromVersion) ? $docData->fromVersion : max(0, ($version - 1));
$this->dao->insert(TABLE_DOCCONTENT)->data($docContent)->exec();
$docContent->id = $this->dao->lastInsertID();
}
@@ -1752,6 +1753,7 @@ class docModel extends model
$doc->path = $path;
}
unset($doc->files);
$this->dao->update(TABLE_DOC)->data($doc, 'content,contentType,rawContent,fromVersion')
->autoCheck()
->batchCheck($requiredFields, 'notempty')
File diff suppressed because one or more lines are too long