mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-11 09:35:00 +00:00
add version_comment and version_date to document data
This commit is contained in:
parent
f0cb23a7a8
commit
b3bdf6e09d
|
@ -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');
|
||||
|
|
Loading…
Reference in New Issue
Block a user