mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-11 17:44:56 +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(),
|
'keywords'=>$document->getKeywords(),
|
||||||
'mimetype'=>$lc->getMimeType(),
|
'mimetype'=>$lc->getMimeType(),
|
||||||
'version'=>$lc->getVersion(),
|
'version'=>$lc->getVersion(),
|
||||||
|
'version_comment'=>$lc->getComment(),
|
||||||
|
'version_date'=>$lc->getDate(),
|
||||||
'size'=>$lc->getFileSize(),
|
'size'=>$lc->getFileSize(),
|
||||||
);
|
);
|
||||||
$cats = $document->getCategories();
|
$cats = $document->getCategories();
|
||||||
|
@ -611,11 +613,23 @@ function updateDocument($request, $response, $args) { /* {{{ */
|
||||||
|
|
||||||
$document = $dms->getDocument($args['id']);
|
$document = $dms->getDocument($args['id']);
|
||||||
if($document) {
|
if($document) {
|
||||||
$uploadedFiles = $request->getUploadedFiles();
|
|
||||||
if ($document->getAccessMode($userobj, 'updateDocument') >= M_READWRITE) {
|
if ($document->getAccessMode($userobj, 'updateDocument') >= M_READWRITE) {
|
||||||
$params = $request->getParsedBody();
|
$params = $request->getParsedBody();
|
||||||
$origfilename = isset($params['origfilename']) ? $params['origfilename'] : null;
|
$origfilename = isset($params['origfilename']) ? $params['origfilename'] : null;
|
||||||
$comment = isset($params['comment']) ? $params['comment'] : 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) {
|
if (count($uploadedFiles) == 0) {
|
||||||
return $response->withJson(array('success'=>false, 'message'=>'No file detected', 'data'=>''), 400);
|
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);
|
$userfiletype = finfo_file($finfo, $temp);
|
||||||
$fileType = ".".pathinfo($origfilename, PATHINFO_EXTENSION);
|
$fileType = ".".pathinfo($origfilename, PATHINFO_EXTENSION);
|
||||||
finfo_close($finfo);
|
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);
|
unlink($temp);
|
||||||
if($res) {
|
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) { /* {{{ */
|
function getDocumentFiles($request, $response, $args) { /* {{{ */
|
||||||
global $dms, $userobj;
|
global $dms, $userobj;
|
||||||
$document = $dms->getDocument($args['id']);
|
$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}/content', 'getDocumentContent');
|
||||||
$app->get('/document/{id}/versions', 'getDocumentVersions');
|
$app->get('/document/{id}/versions', 'getDocumentVersions');
|
||||||
$app->get('/document/{id}/version/{version}', 'getDocumentVersion');
|
$app->get('/document/{id}/version/{version}', 'getDocumentVersion');
|
||||||
|
$app->put('/document/{id}/version/{version}', 'updateDocumentVersion');
|
||||||
$app->get('/document/{id}/files', 'getDocumentFiles');
|
$app->get('/document/{id}/files', 'getDocumentFiles');
|
||||||
$app->get('/document/{id}/file/{fileid}', 'getDocumentFile');
|
$app->get('/document/{id}/file/{fileid}', 'getDocumentFile');
|
||||||
$app->get('/document/{id}/links', 'getDocumentLinks');
|
$app->get('/document/{id}/links', 'getDocumentLinks');
|
||||||
|
|
Loading…
Reference in New Issue
Block a user