Skip to content

Commit 6277ecf

Browse files
Merge pull request #56862 from abhinavohri/56609
2 parents f967134 + f78e2a3 commit 6277ecf

File tree

8 files changed

+23
-6
lines changed

8 files changed

+23
-6
lines changed

apps/settings/css/settings.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/settings/css/settings.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/settings/css/settings.scss

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -789,3 +789,12 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
789789
opacity: 1;
790790
}
791791
}
792+
793+
#sendtestmail_msg {
794+
&.error {
795+
display: inline-block;
796+
margin-top: 5px;
797+
border-radius: var(--border-radius);
798+
padding: 5px 10px;
799+
}
800+
}

apps/settings/lib/Controller/MailSettingsController.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use OCP\IURLGenerator;
2020
use OCP\IUserSession;
2121
use OCP\Mail\IMailer;
22+
use Psr\Log\LoggerInterface;
2223

2324
class MailSettingsController extends Controller {
2425

@@ -39,6 +40,7 @@ public function __construct(
3940
private IUserSession $userSession,
4041
private IURLGenerator $urlGenerator,
4142
private IMailer $mailer,
43+
private LoggerInterface $logger,
4244
) {
4345
parent::__construct($appName, $request);
4446
}
@@ -145,11 +147,13 @@ public function sendTestMail() {
145147
return new DataResponse();
146148
} catch (\Exception $e) {
147149
$this->config->setAppValue('core', 'emailTestSuccessful', '0');
150+
$this->logger->error('Failed sending test email: ' . $e->getMessage(), ['exception' => $e]);
148151
return new DataResponse($this->l10n->t('A problem occurred while sending the email. Please revise your settings. (Error: %s)', [$e->getMessage()]), Http::STATUS_BAD_REQUEST);
149152
}
150153
}
151154

152155
$this->config->setAppValue('core', 'emailTestSuccessful', '0');
156+
$this->logger->error('Failed sending test email: User ' . $this->userSession->getUser()->getUID() . ' has no email address configured in their account settings');
153157
return new DataResponse($this->l10n->t('You need to set your account email before being able to send test emails. Go to %s for that.', [$this->urlGenerator->linkToRouteAbsolute('settings.PersonalSettings.index')]), Http::STATUS_BAD_REQUEST);
154158
}
155159
}

apps/settings/src/admin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ window.addEventListener('DOMContentLoaded', () => {
8989
.then(() => {
9090
OC.msg.finishedSuccess('#sendtestmail_msg', t('settings', 'Email sent'))
9191
}).catch((error) => {
92-
OC.msg.finishedError('#sendtestmail_msg', error)
92+
OC.msg.finishedError('#sendtestmail_msg', error.response.data)
9393
})
9494
})
9595
})

apps/settings/tests/Controller/MailSettingsControllerTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use OCP\Mail\IEMailTemplate;
2020
use OCP\Mail\IMailer;
2121
use PHPUnit\Framework\MockObject\MockObject;
22+
use Psr\Log\LoggerInterface;
2223

2324
/**
2425
* @package Tests\Settings\Controller
@@ -29,6 +30,7 @@ class MailSettingsControllerTest extends \Test\TestCase {
2930
private IMailer&MockObject $mailer;
3031
private IL10N&MockObject $l;
3132
private IURLGenerator&MockObject $urlGenerator;
33+
private LoggerInterface&MockObject $logger;
3234
private MailSettingsController $mailController;
3335

3436
protected function setUp(): void {
@@ -39,6 +41,7 @@ protected function setUp(): void {
3941
$this->userSession = $this->createMock(IUserSession::class);
4042
$this->mailer = $this->createMock(IMailer::class);
4143
$this->urlGenerator = $this->createMock(IURLGenerator::class);
44+
$this->logger = $this->createMock(LoggerInterface::class);
4245
/** @var IRequest&MockObject $request */
4346
$request = $this->createMock(IRequest::class);
4447
$this->mailController = new MailSettingsController(
@@ -49,6 +52,7 @@ protected function setUp(): void {
4952
$this->userSession,
5053
$this->urlGenerator,
5154
$this->mailer,
55+
$this->logger,
5256
);
5357
}
5458

dist/settings-legacy-admin.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)