From d91bae4692aba70b5515607ca6315cc1597dafa5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 9 Jan 2023 10:05:22 +0100 Subject: [PATCH] add upload folder --- class.paperless.php | 14 ++++++++++---- conf.php | 8 +++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/class.paperless.php b/class.paperless.php index 0ac18e7..7af5d6a 100644 --- a/class.paperless.php +++ b/class.paperless.php @@ -828,11 +828,17 @@ class SeedDMS_ExtPaperless_RestAPI_Controller { /* {{{ */ $fulltextservice = $this->container->fulltextservice; $notifier = $this->container->notifier; - if(!empty($settings->_extensions['paperless']['usehomefolder'])) { - if(!($mfolder = $dms->getFolder((int) $userobj->getHomeFolder()))) + if(isset($settings->_extensions['paperless']['uploadfolder'])) + $mfolder = $dms->getFolder($settings->_extensions['paperless']['uploadfolder']); + + if(!$mfolder) { + if(!empty($settings->_extensions['paperless']['usehomefolder'])) { + if(!($mfolder = $dms->getFolder((int) $userobj->getHomeFolder()))) + $mfolder = $dms->getFolder($settings->_rootFolderID); + } elseif(!isset($settings->_extensions['paperless']['rootfolder']) || !($mfolder = $dms->getFolder($settings->_extensions['paperless']['rootfolder']))) $mfolder = $dms->getFolder($settings->_rootFolderID); - } elseif(!isset($settings->_extensions['paperless']['rootfolder']) || !($mfolder = $dms->getFolder($settings->_extensions['paperless']['rootfolder']))) - $mfolder = $dms->getFolder($settings->_rootFolderID); + } + if($mfolder) { if($mfolder->getAccessMode($userobj) < M_READWRITE) return $response->withStatus(403); diff --git a/conf.php b/conf.php index f7de027..28fb811 100644 --- a/conf.php +++ b/conf.php @@ -9,7 +9,7 @@ $EXT_CONF['paperless'] = array( 'config' => array( 'rootfolder' => array( 'title'=>'Folder used as root folder', - 'help'=>'This is the folder used as the base folder. Uploaded documents will be saved in this folder and all documents listed will result in fulltext search below this folder.', + 'help'=>'This is the folder used as the base folder. Documens not below this folder will be not shown by the papeerless mobile app. Uploaded documents will be saved into this folder, unless the dedicated upload folder is set.', 'type'=>'select', 'internal'=>'folders', ), @@ -18,6 +18,12 @@ $EXT_CONF['paperless'] = array( 'type'=>'checkbox', 'help'=>"Enable, if the user's home folder shall be used instead of the configured root folder.", ), + 'uploadfolder' => array( + 'title'=>'Folder where new documents are uploaded', + 'help'=>'This is the folder where new documents will be uploaded by the paperless mobile app.', + 'type'=>'select', + 'internal'=>'folders', + ), 'jwtsecret' => array( 'title'=>'Secret for JSON Web Token', 'help'=>'This is used for creating a token which is needed to authenticate by token',