From a0c7b92daeebdf205d225b027f760923adfb4e50 Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Wed, 9 Jun 2021 20:27:08 +0200 Subject: [PATCH] Registrierungsservice fertig --- lib/Service/RegistrationService.php | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/lib/Service/RegistrationService.php b/lib/Service/RegistrationService.php index c6de94e..66a733f 100644 --- a/lib/Service/RegistrationService.php +++ b/lib/Service/RegistrationService.php @@ -60,6 +60,7 @@ use Psr\Log\LoggerInterface; // DEFAULT GROUP DIRs with Permissions! use OCP\IDBConnection; use OCA\GroupFolders\Folder\FolderManager; +use OCA\Agency\Agency\AgencyManager; class RegistrationService { @@ -99,6 +100,8 @@ class RegistrationService { /** @var IDBConnection */ private $connection; + /** @var AgencyManager */ + private $agencyManager; @@ -138,6 +141,7 @@ class RegistrationService { $this->tokenProvider = $tokenProvider; $this->crypto = $crypto; $this->connection = $connection; + $this->agencyManager = new AgencyManager($connection); } public function confirmEmail(Registration $registration): void { @@ -436,6 +440,9 @@ class RegistrationService { } */ // Create a new Group for the Agency and adding the new user + /** + * REGISTRIERUNG EINER NEUEN AGENTUR PASSIERT HIER + */ $newgid = "agency_"; $newgid_counter = 1; $groupidfree = false; @@ -451,18 +458,28 @@ class RegistrationService { $newgroup = $this->groupManager->createGroup($newgid.$newgid_counter); $newgroup->addUser($user); + /** + * TODO: Im Meeting einmal klären, was nun mit den Ordnern genau laufen soll und das dann HIER aktualisieren. + */ // Create two new Directorys for that agency $folderManager = new FolderManager($this->connection, $this->groupManager); // Main-Dir for complete Agency - $newFolderId = $folderManager->createFolder('Agenturdaten'); - $folderManager->addApplicableGroup($newFolderId, $newgroup->getGId()); - $folderManager->setGroupPermissions($newFolderId, $newgroup->getGId(), '31'); + $newFolderIdAG = $folderManager->createFolder('Agenturdaten'); + $folderManager->addApplicableGroup($newFolderIdAG, $newgroup->getGId()); + $folderManager->setGroupPermissions($newFolderIdAG, $newgroup->getGId(), '31'); // Upload-Standard-Directory - $newFolderId = $folderManager->createFolder('Standard Uploadbereich'); - $folderManager->addApplicableGroup($newFolderId, $newgroup->getGId()); - $folderManager->setGroupPermissions($newFolderId, $newgroup->getGId(), '31'); + $newFolderIdSt = $folderManager->createFolder('Standard Uploadbereich'); + $folderManager->addApplicableGroup($newFolderIdSt, $newgroup->getGId()); + $folderManager->setGroupPermissions($newFolderIdSt, $newgroup->getGId(), '31'); + + // Create new AGENCY-Object + /** + * Create a new Agency with data for fast loading other data + * string $agencygid, string $agencydirid, string $standarddirid + */ + $this->agencyManager->createAgencyOnReg(strval($newgroup->getGId()), $newFolderIdAG, $newFolderIdSt); // disable user if this is requested by config $adminApprovalRequired = $this->config->getAppValue($this->appName, 'admin_approval_required', 'no');