From 89b48ed7612f6e51df9685936b5c89d2395f92fd Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Wed, 28 Jul 2021 16:26:08 +0200 Subject: [PATCH] Gruppenstuff --- appinfo/routes.php | 6 +++++ lib/Controller/AgencyController.php | 35 +++++++++++++++++++++++++++- lib/Controller/GroupController.php | 1 + lib/Controller/MigrateController.php | 9 ++++--- 4 files changed, 47 insertions(+), 4 deletions(-) diff --git a/appinfo/routes.php b/appinfo/routes.php index 70f6fea..00ead3f 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -10,15 +10,21 @@ return [ ['name' => 'agency#updateagencydata', 'url' => '/updateagencydata', 'verb' => 'PUT'], ['name' => 'agency#getagencycontributors', 'url' => '/getagencycontributors', 'verb' => 'GET'], ['name' => 'agency#updateagencygroupcontributors', 'url' => '/updateagencygroupcontributors/{gid}', 'verb' => 'PUT'], + ['name' => 'agency#updateagencygroup', 'url' => '/updateagencygroup', 'verb' => 'POST'], + ['name' => 'agency#deleteagencygroup', 'url' => '/delagencygroup', 'verb' => 'POST'], + + # GROUPS ['name' => 'group#getagencygroups', 'url' => '/getagencygroups', 'verb' => 'GET'], ['name' => 'group#addagencygroup', 'url' => '/addagencygroup', 'verb' => 'PUT'], ['name' => 'group#delagencygroup', 'url' => '/delagencygroup/{id}', 'verb' => 'GET'], + # MIGRATIN ['name' => 'migrate#startMigration', 'url' => '/startmigration', 'verb' => 'PUT'], ['name' => 'migrate#getcurrentuser', 'url' => '/getcurrentuser', 'verb' => 'POST'], ['name' => 'migrate#renameGroup', 'url' => '/regr', 'verb' => 'POST'], ['name' => 'migrate#createAGGroupFolder', 'url' => '/createagf', 'verb' => 'POST'], + ] ]; diff --git a/lib/Controller/AgencyController.php b/lib/Controller/AgencyController.php index 6626dc2..6881dc1 100644 --- a/lib/Controller/AgencyController.php +++ b/lib/Controller/AgencyController.php @@ -9,6 +9,7 @@ use OCP\IUserManager; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Controller; +use OCP\IGroupManager; use OCA\Agency\Service\AgencyService; use OCA\Agency\Agency\AgencyManager; @@ -21,15 +22,17 @@ class AgencyController extends Controller { protected $userSession; protected $request; protected $agencyManager; + protected $groupManager; use Errors; - public function __construct(string $AppName, IRequest $request, IUserSession $userSession, AgencyService $service, IDBConnection $connection, AgencyManager $agencymanager){ + public function __construct(string $AppName, IRequest $request, IUserSession $userSession, AgencyService $service, IDBConnection $connection, AgencyManager $agencymanager, IGroupManager $groupManager){ parent::__construct($AppName, $request); $this->service = $service; $this->userSession = $userSession; $this->request = $request; $this->agencyManager = $agencymanager; + $this->groupManager = $groupManager; } /** @@ -113,4 +116,34 @@ class AgencyController extends Controller { return $this->agencyManager->updateagencygroupcontributors($gid, $users); } + /** + * @PublicPage + * @NoCSRFRequired + * + * @param: + * groupid - string, groupid in NC to update + * newvalue - string, new groupname + * + */ + public function updateagencygroup(string $groupid, string $newvalue){ + $this->groupManager->get($groupid)->setDisplayName($newvalue); + //return "OK!"; + } + + /** + * @PublicPage + * @NoCSRFRequired + * + * @param: + * groupid - string, groupid in NC to update + * newvalue - string, new groupname + * + */ + public function deleteagencygroup(string $groupid){ + $this->groupManager->get($groupid)->delete(); + //return "OK!"; + } + + + } \ No newline at end of file diff --git a/lib/Controller/GroupController.php b/lib/Controller/GroupController.php index 60cdeb0..5f5d57d 100644 --- a/lib/Controller/GroupController.php +++ b/lib/Controller/GroupController.php @@ -128,4 +128,5 @@ class GroupController extends Controller { } return $result; } + } \ No newline at end of file diff --git a/lib/Controller/MigrateController.php b/lib/Controller/MigrateController.php index cd5ff36..261735d 100644 --- a/lib/Controller/MigrateController.php +++ b/lib/Controller/MigrateController.php @@ -14,7 +14,6 @@ use OCP\AppFramework\Controller; use OCP\IDBConnection; use OCA\GroupFolders\Folder\FolderManager; - class MigrateController extends Controller { protected $userSession; @@ -95,11 +94,15 @@ class MigrateController extends Controller { * @PublicPage * @NoCSRFRequired */ - public function createAGGroupFolder(string $gid){ + public function createAGGroupFolder(string $gid, string $aid){ $folderManager = new FolderManager($this->connection, $this->groupManager); - $newFolderIdAG = $folderManager->createFolder('Agenturdaten'); + $newFolderIdAG = $folderManager->createFolder('Agenturdaten_'.$aid); + # Hinzufügen der Mitarbeitergruppe der entsprechenden Agentur $folderManager->addApplicableGroup($newFolderIdAG, $gid); $folderManager->setGroupPermissions($newFolderIdAG, $gid, '31'); + # Hinzufügen der Admingruppe, damit die weitere Dateien und Ordneraktionen bei der Migration klappen + $folderManager->addApplicableGroup($newFolderIdAG, "admin"); + $folderManager->setGroupPermissions($newFolderIdAG, "admin", '31'); return "OK!"; } }