From 9ab5c457aeb045bb0f6a0fc714a0ed0b624cd7ae Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Fri, 23 Jul 2021 11:56:12 +0200 Subject: [PATCH] vorbereitung migration --- lib/Service/RegistrationService.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/Service/RegistrationService.php b/lib/Service/RegistrationService.php index de4df9f..e351f2a 100644 --- a/lib/Service/RegistrationService.php +++ b/lib/Service/RegistrationService.php @@ -61,6 +61,7 @@ use Psr\Log\LoggerInterface; use OCP\IDBConnection; use OCA\GroupFolders\Folder\FolderManager; use OCA\Agency\Agency\AgencyManager; +use OCA\Agency\Service\GroupPermissionService; class RegistrationService { @@ -103,6 +104,8 @@ class RegistrationService { /** @var AgencyManager */ private $agencyManager; + /** @var GroupPermissionService */ + private $groupPermissionService; public function __construct( @@ -123,7 +126,8 @@ class RegistrationService { ICrypto $crypto, IRequest $request, IDBConnection $connection, - AgencyManager $agencyManager + AgencyManager $agencyManager, + GroupPermissionService $groupPermissionService ) { $this->appName = $appName; $this->mailService = $mailService; @@ -143,6 +147,7 @@ class RegistrationService { $this->crypto = $crypto; $this->connection = $connection; $this->agencyManager = $agencyManager; + $this->groupPermissionService = $groupPermissionService; } public function confirmEmail(Registration $registration): void { @@ -390,7 +395,7 @@ class RegistrationService { } } - /* TODO + /* BUG * createUser tests username validity once, but validateUsername already checked it, * but createUser doesn't check if there is a pending registration with that name * @@ -470,15 +475,17 @@ class RegistrationService { $newgroup = $this->groupManager->createGroup($newgid); $newgroup->setDisplayName("Mitarbeiter"); $newgroup->addUser($user); + $this->groupPermissionService->create($newgid); - //TODO: Checken, ob das hier klappt mit der zusätzlichen Gruppe! $newgroup_al = $this->groupManager->createGroup($newgid."_defaultal"); $newgroup_al->setDisplayName("Agenturleiter"); $newgroup_al->addUser($user); - + $this->groupPermissionService->create($newgid."_defaultal"); + $newgroup_admins = $this->groupManager->createGroup($newgid."_defaultadmingroup"); $newgroup_admins->setDisplayName("Administratoren"); $newgroup_admins->addUser($user); + $this->groupPermissionService->create($newgid."_defaultadmingroup", "{'mainsettings':true, 'structure': true, 'usersandgroups':true"); // Create default Dirs $folderManager = new FolderManager($this->connection, $this->groupManager);