From 3f871b3b77315e15fb3819a7c717f4d50c1152e1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 21 Feb 2023 13:08:46 +0100 Subject: [PATCH] search for document types and correspondents --- class.paperless.php | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/class.paperless.php b/class.paperless.php index 4d14d18..e71c9e4 100644 --- a/class.paperless.php +++ b/class.paperless.php @@ -557,13 +557,28 @@ class SeedDMS_ExtPaperless_RestAPI_Controller { /* {{{ */ } } + $cattrs = []; // correspondent $correspondent = null; if(isset($params['correspondent__id']) && $params['correspondent__id']>0) { if(!empty($settings->_extensions['paperless']['correspondentsattr']) && $attrdef = $dms->getAttributeDefinition($settings->_extensions['paperless']['correspondentsattr'])) { $valueset = $attrdef->getValueSetAsArray(); - if(isset($valueset[$params['correspondent__id']+1])) - $correspondent = $valueset[$params['correspondent__id']+1]; + if(isset($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; $logger->log('Query is '.$query, PEAR_LOG_DEBUG); $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) { $recs = array(); $facets = $searchresult['facets']; @@ -711,7 +726,7 @@ class SeedDMS_ExtPaperless_RestAPI_Controller { /* {{{ */ } else { $recs = array(); $facets = $searchresult['facets']; - $logger->log(var_export($facets, true), PEAR_LOG_DEBUG); +// $logger->log(var_export($facets, true), PEAR_LOG_DEBUG); } }