From 9dfd05247ffc36379a179ad7982b4d2688be13be Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 11 Oct 2023 16:32:39 +0200 Subject: [PATCH] support searching for any correspondent and no correspondent --- class.paperless.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/class.paperless.php b/class.paperless.php index 7e55440..812f796 100644 --- a/class.paperless.php +++ b/class.paperless.php @@ -697,17 +697,25 @@ class SeedDMS_ExtPaperless_RestAPI_Controller { /* {{{ */ /* Search for correspondent {{{ */ $cattrs = []; $correspondent = null; - 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'])) { + if(isset($params['correspondent__id']) && $params['correspondent__id']>0) { $valueset = $attrdef->getValueSetAsArray(); if(isset($valueset[$params['correspondent__id']-1])) { $correspondent = $valueset[$params['correspondent__id']-1]; $cattrs['attr_'.$attrdef->getId()] = $correspondent; } } + + /* Search for any correspondent (correspondent__isnull = 0) */ + if(isset($params['correspondent__isnull']) && $params['correspondent__isnull'] == '0') { + $cattrs['attr_'.$attrdef->getId()] = '__any__'; + + } + /* Search for no correspondent (correspondent__isnull = 1) */ + if(isset($params['correspondent__isnull']) && $params['correspondent__isnull'] == '1') { + $cattrs['attr_'.$attrdef->getId()] = '__notset__'; + } } - /* Search for any correspondent (correspondent__isnull = 0) */ - /* Search for no correspondent (correspondent__isnull = 1) */ /* }}} */ /* Search form document type {{{ */