diff options
author | Daniel Kesselberg <mail@danielkesselberg.de> | 2022-06-10 16:09:13 +0300 |
---|---|---|
committer | Daniel Kesselberg <mail@danielkesselberg.de> | 2022-06-10 16:09:13 +0300 |
commit | 4a1d88502906e2eb836a14ee2c3c4c597b265884 (patch) | |
tree | 9f706bc5e9d0c717aecb5c18f0203237f1cffb80 | |
parent | efd9941c6513d7cc5b2387571f707ae3b9bfb7fe (diff) |
Alias provisioning: Skip alias when identical to account emailenh/noid/skip-alias-when-identical-to-account-email
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
-rw-r--r-- | lib/Service/Provisioning/Manager.php | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Service/Provisioning/Manager.php b/lib/Service/Provisioning/Manager.php index 7207bbf60..c52375f59 100644 --- a/lib/Service/Provisioning/Manager.php +++ b/lib/Service/Provisioning/Manager.php @@ -146,8 +146,12 @@ class Manager { * * @throws \OCP\DB\Exception */ - private function createNewAliases(string $userId, int $accountId, array $newAliases, string $displayName): void { + private function createNewAliases(string $userId, int $accountId, string $accountEmail, array $newAliases, string $displayName): void { foreach ($newAliases as $newAlias) { + if ($newAlias === $accountEmail) { + continue; // skip alias when identical to account email + } + try { $this->aliasMapper->findByAlias($newAlias, $userId); } catch (DoesNotExistException $e) { @@ -236,7 +240,7 @@ class Manager { } try { - $this->createNewAliases($user->getUID(), $mailAccount->getId(), $provisioning->getAliases(), $user->getDisplayName()); + $this->createNewAliases($user->getUID(), $mailAccount->getId(), $mailAccount->getEmail(), $provisioning->getAliases(), $user->getDisplayName()); } catch (\Throwable $e) { $this->logger->warning('Creating new aliases failed', ['exception' => $e]); } |