search for document types and correspondents

This commit is contained in:
Uwe Steinmann 2023-02-21 13:08:46 +01:00
parent 691bbcd689
commit 3f871b3b77

View File

@ -557,13 +557,28 @@ class SeedDMS_ExtPaperless_RestAPI_Controller { /* {{{ */
} }
} }
$cattrs = [];
// correspondent // correspondent
$correspondent = null; $correspondent = null;
if(isset($params['correspondent__id']) && $params['correspondent__id']>0) { if(isset($params['correspondent__id']) && $params['correspondent__id']>0) {
if(!empty($settings->_extensions['paperless']['correspondentsattr']) && $attrdef = $dms->getAttributeDefinition($settings->_extensions['paperless']['correspondentsattr'])) { if(!empty($settings->_extensions['paperless']['correspondentsattr']) && $attrdef = $dms->getAttributeDefinition($settings->_extensions['paperless']['correspondentsattr'])) {
$valueset = $attrdef->getValueSetAsArray(); $valueset = $attrdef->getValueSetAsArray();
if(isset($valueset[$params['correspondent__id']+1])) if(isset($valueset[$params['correspondent__id']-1])) {
$correspondent = $valueset[$params['correspondent__id']+1]; $correspondent = $valueset[$params['correspondent__id']-1];
$cattrs[] = new SeedDMS_Core_Attribute(0, null, $attrdef, $correspondent);
}
}
}
// document type
$documenttype = null;
if(isset($params['document_type__id']) && $params['document_type__id']>0) {
if(!empty($settings->_extensions['paperless']['documenttypesattr']) && $attrdef = $dms->getAttributeDefinition($settings->_extensions['paperless']['documenttypesattr'])) {
$valueset = $attrdef->getValueSetAsArray();
if(isset($valueset[$params['document_type__id']-1])) {
$documenttype = $valueset[$params['document_type__id']-1];
$cattrs[] = new SeedDMS_Core_Attribute(0, null, $attrdef, $documenttype);
}
} }
} }
@ -595,7 +610,7 @@ class SeedDMS_ExtPaperless_RestAPI_Controller { /* {{{ */
$offset = ($page-1)*$limit; $offset = ($page-1)*$limit;
$logger->log('Query is '.$query, PEAR_LOG_DEBUG); $logger->log('Query is '.$query, PEAR_LOG_DEBUG);
$lucenesearch = $fulltextservice->Search(); $lucenesearch = $fulltextservice->Search();
$searchresult = $lucenesearch->search($query, array('record_type'=>['document'], 'user'=>[$userobj->getLogin()], 'category'=>$categorynames, 'created_start'=>$astart, 'created_end'=>$aend, 'startFolder'=>$startfolder, 'rootFolder'=>$rootfolder), array('limit'=>$limit, 'offset'=>$offset), $order); $searchresult = $lucenesearch->search($query, array('record_type'=>['document'], 'user'=>[$userobj->getLogin()], 'category'=>$categorynames, 'created_start'=>$astart, 'created_end'=>$aend, 'startFolder'=>$startfolder, 'rootFolder'=>$rootfolder, 'attributes'=>$cattrs), array('limit'=>$limit, 'offset'=>$offset), $order);
if($searchresult) { if($searchresult) {
$recs = array(); $recs = array();
$facets = $searchresult['facets']; $facets = $searchresult['facets'];
@ -711,7 +726,7 @@ class SeedDMS_ExtPaperless_RestAPI_Controller { /* {{{ */
} else { } else {
$recs = array(); $recs = array();
$facets = $searchresult['facets']; $facets = $searchresult['facets'];
$logger->log(var_export($facets, true), PEAR_LOG_DEBUG); // $logger->log(var_export($facets, true), PEAR_LOG_DEBUG);
} }
} }