Registrierungsservice fertig

This commit is contained in:
holger.trampe 2021-06-09 20:27:08 +02:00
parent f8cc944491
commit a0c7b92dae
1 changed files with 23 additions and 6 deletions

View File

@ -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');