From 0e1b00d0b5fb882855d40b88af4c9ea625f3340b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sun, 6 Nov 2022 17:02:38 +0100 Subject: [PATCH] use controller to create subfolder, send notifications --- restapi/index.php | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/restapi/index.php b/restapi/index.php index db1b6eabc..4ab5d1c26 100644 --- a/restapi/index.php +++ b/restapi/index.php @@ -480,6 +480,8 @@ class RestapiController { /* {{{ */ $userobj = $this->container->userobj; $settings = $this->container->config; $logger = $this->container->logger; + $fulltextservice = $this->container->fulltextservice; + $notifier = $this->container->notifier; if(!$userobj) { return $response->withJson(array('success'=>false, 'message'=>'Not logged in', 'data'=>''), 403); @@ -524,10 +526,24 @@ class RestapiController { /* {{{ */ return $response->withJson(array('success'=>false, 'message'=>getMLText("subfolder_duplicate_name"), 'data'=>''), 409); } } - if($folder = $parent->addSubFolder($params['name'], $comment, $userobj, $sequence, $newattrs)) { - $rec = $this->__getFolderData($folder); - $logger->log("Creating folder '".$folder->getName()."' (".$folder->getId().") successful", PEAR_LOG_INFO); + $controller = Controller::factory('AddSubFolder'); + $controller->setParam('dms', $dms); + $controller->setParam('user', $userobj); + $controller->setParam('fulltextservice', $fulltextservice); + $controller->setParam('folder', $parent); + $controller->setParam('name', $params['name']); + $controller->setParam('comment', $comment); + $controller->setParam('sequence', $sequence); + $controller->setParam('attributes', $newattrs); + $controller->setParam('notificationgroups', []); + $controller->setParam('notificationusers', []); + if($folder = $controller()) { + $rec = $this->__getFolderData($folder); + $logger->log("Creating folder '".$folder->getName()."' (".$folder->getId().") successful", PEAR_LOG_INFO); + if($notifier) { + $notifier->sendNewFolderMail($folder, $userobj); + } return $response->withJson(array('success'=>true, 'message'=>'', 'data'=>$rec), 201); } else { return $response->withJson(array('success'=>false, 'message'=>'Could not create folder', 'data'=>''), 500); @@ -2506,6 +2522,7 @@ $container['config'] = $settings; $container['conversionmgr'] = $conversionmgr; $container['logger'] = $logger; $container['fulltextservice'] = $fulltextservice; +$container['notifier'] = $notifier; $app->add(new Auth($container)); // Make CORS preflighted request possible