* [bug #64371] fix files not update from old version on restore doc.

This commit is contained in:
sunhao
2025-07-30 10:11:14 +08:00
parent e8296697e7
commit 677bc58b41
3 changed files with 27 additions and 22 deletions
+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')