add version_comment and version_date to document data

This commit is contained in:
Uwe Steinmann 2019-02-21 14:30:12 +01:00
parent f0cb23a7a8
commit b3bdf6e09d

View File

@ -65,6 +65,8 @@ function __getLatestVersionData($lc) { /* {{{ */
'keywords'=>$document->getKeywords(),
'mimetype'=>$lc->getMimeType(),
'version'=>$lc->getVersion(),
'version_comment'=>$lc->getComment(),
'version_date'=>$lc->getDate(),
'size'=>$lc->getFileSize(),
);
$cats = $document->getCategories();
@ -611,11 +613,23 @@ function updateDocument($request, $response, $args) { /* {{{ */
$document = $dms->getDocument($args['id']);
if($document) {
$uploadedFiles = $request->getUploadedFiles();
if ($document->getAccessMode($userobj, 'updateDocument') >= M_READWRITE) {
$params = $request->getParsedBody();
$origfilename = isset($params['origfilename']) ? $params['origfilename'] : null;
$comment = isset($params['comment']) ? $params['comment'] : null;
$attributes = isset($params["attributes"]) ? $params["attributes"] : array();
foreach($attributes as $attrdefid=>$attribute) {
if($attrdef = $dms->getAttributeDefinition($attrdefid)) {
if($attribute) {
if(!$attrdef->validate($attribute)) {
return $response->withJson(array('success'=>false, 'message'=>getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute), 'data'=>''), 400);
}
} elseif($attrdef->getMinValues() > 0) {
return $response->withJson(array('success'=>false, 'message'=>getMLText("attr_min_values", array("attrname"=>$attrdef->getName())), 'data'=>''), 400);
}
}
}
$uploadedFiles = $request->getUploadedFiles();
if (count($uploadedFiles) == 0) {
return $response->withJson(array('success'=>false, 'message'=>'No file detected', 'data'=>''), 400);
}
@ -627,7 +641,7 @@ function updateDocument($request, $response, $args) { /* {{{ */
$userfiletype = finfo_file($finfo, $temp);
$fileType = ".".pathinfo($origfilename, PATHINFO_EXTENSION);
finfo_close($finfo);
$res=$document->addContent($comment, $userobj, $temp, $origfilename, $fileType, $userfiletype);
$res=$document->addContent($comment, $userobj, $temp, $origfilename, $fileType, $userfiletype, array(), array(), 0, $attributes);
unlink($temp);
if($res) {
@ -980,6 +994,34 @@ function getDocumentVersion($request, $response, $args) { /* {{{ */
}
} /* }}} */
function updateDocumentVersion($request, $response, $args) { /* {{{ */
global $dms, $userobj;
$document = $dms->getDocument($args['id']);
if($document) {
if ($document->getAccessMode($userobj) >= M_READ) {
$lc = $document->getContentByVersion($args['version']);
if($lc) {
$params = $request->getParsedBody();
if (isset($params['comment'])) {
$lc->setComment($params['comment']);
return $response->withJson(array('success'=>true, 'message'=>'', 'data'=>''), 200);
}
} else {
return $response->withJson(array('success'=>false, 'message'=>'No such version', 'data'=>''), 400);
}
} else {
return $response->withJson(array('success'=>false, 'message'=>'No access', 'data'=>''), 403);
}
} else {
if($document === null)
$status=400;
else
$status=500;
return $response->withJson(array('success'=>false, 'message'=>'No document', 'data'=>''), $status);
}
} /* }}} */
function getDocumentFiles($request, $response, $args) { /* {{{ */
global $dms, $userobj;
$document = $dms->getDocument($args['id']);
@ -2008,6 +2050,7 @@ $app->post('/document/{id}/move/{folderid}', 'moveDocument');
$app->get('/document/{id}/content', 'getDocumentContent');
$app->get('/document/{id}/versions', 'getDocumentVersions');
$app->get('/document/{id}/version/{version}', 'getDocumentVersion');
$app->put('/document/{id}/version/{version}', 'updateDocumentVersion');
$app->get('/document/{id}/files', 'getDocumentFiles');
$app->get('/document/{id}/file/{fileid}', 'getDocumentFile');
$app->get('/document/{id}/links', 'getDocumentLinks');