diff options
author | Morris Jobke <hey@morrisjobke.de> | 2020-10-05 21:30:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-05 21:30:27 +0200 |
commit | 1ad0631c661b64d670f1a61dfd46b7de2addb8d8 (patch) | |
tree | a44a96a5bcddced97f72160ac0d6b52a232127b9 | |
parent | d357f4b10fe1b59e1e07bb90641d647522c7bfe2 (diff) | |
parent | 62923a5e1eb5369dd5a89cd7b7928b13a8a61c6a (diff) | |
download | nextcloud-server-1ad0631c661b64d670f1a61dfd46b7de2addb8d8.tar.gz nextcloud-server-1ad0631c661b64d670f1a61dfd46b7de2addb8d8.zip |
Merge pull request #23182 from sharidas/fix-user-emailaddr
Fix the user email issue while creating a user
-rw-r--r-- | apps/provisioning_api/lib/Controller/UsersController.php | 26 | ||||
-rw-r--r-- | apps/provisioning_api/tests/Controller/UsersControllerTest.php | 6 |
2 files changed, 19 insertions, 13 deletions
diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php index 14e835ce338..5903292ed6b 100644 --- a/apps/provisioning_api/lib/Controller/UsersController.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -337,19 +337,21 @@ class UsersController extends AUserData { } // Send new user mail only if a mail is set - if ($email !== '' && $this->config->getAppValue('core', 'newUser.sendEmail', 'yes') === 'yes') { + if ($email !== '') { $newUser->setEMailAddress($email); - try { - $emailTemplate = $this->newUserMailHelper->generateTemplate($newUser, $generatePasswordResetToken); - $this->newUserMailHelper->sendMail($newUser, $emailTemplate); - } catch (\Exception $e) { - // Mail could be failing hard or just be plain not configured - // Logging error as it is the hardest of the two - $this->logger->logException($e, [ - 'message' => "Unable to send the invitation mail to $email", - 'level' => ILogger::ERROR, - 'app' => 'ocs_api', - ]); + if ($this->config->getAppValue('core', 'newUser.sendEmail', 'yes') === 'yes') { + try { + $emailTemplate = $this->newUserMailHelper->generateTemplate($newUser, $generatePasswordResetToken); + $this->newUserMailHelper->sendMail($newUser, $emailTemplate); + } catch (\Exception $e) { + // Mail could be failing hard or just be plain not configured + // Logging error as it is the hardest of the two + $this->logger->logException($e, [ + 'message' => "Unable to send the invitation mail to $email", + 'level' => ILogger::ERROR, + 'app' => 'ocs_api', + ]); + } } } diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php index fec7fc9f135..d508670d4f6 100644 --- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -500,9 +500,13 @@ class UsersControllerTest extends TestCase { ->method('userExists') ->with('NewUser') ->willReturn(false); + $newUser = $this->createMock(IUser::class); + $newUser->expects($this->once()) + ->method('setEMailAddress'); $this->userManager ->expects($this->once()) - ->method('createUser'); + ->method('createUser') + ->willReturn($newUser); $this->logger ->expects($this->once()) ->method('info') |