From 698208fcd508de1c6b53c186f8b22069cad6ce54 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 24 Mar 2023 01:17:20 -0700 Subject: [PATCH] Add test mail account --- src-ui/messages.xlf | 111 +++++++++++------- .../edit-dialog/edit-dialog.component.ts | 2 +- .../mail-account-edit-dialog.component.html | 10 ++ .../mail-account-edit-dialog.component.scss | 4 + .../mail-account-edit-dialog.component.ts | 39 +++++- .../app/services/rest/mail-account.service.ts | 4 + src-ui/src/theme.scss | 7 ++ src/paperless/urls.py | 6 + src/paperless_mail/views.py | 47 ++++++++ 9 files changed, 184 insertions(+), 46 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index 4e0cfde01..d605113b2 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -995,7 +995,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html - 24 + 34 src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html @@ -1046,7 +1046,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html - 25 + 35 src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html @@ -1231,6 +1231,56 @@ 19 + + Loading... + + src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html + 30 + + + src/app/components/common/permissions-dialog/permissions-dialog.component.html + 18 + + + src/app/components/dashboard/dashboard.component.html + 26 + + + src/app/components/dashboard/widgets/widget-frame/widget-frame.component.html + 7 + + + src/app/components/document-list/document-list.component.html + 95 + + + src/app/components/manage/settings/settings.component.html + 230 + + + src/app/components/manage/settings/settings.component.html + 320 + + + src/app/components/manage/settings/settings.component.html + 406 + + + src/app/components/manage/tasks/tasks.component.html + 19 + + + src/app/components/manage/tasks/tasks.component.html + 27 + + + + Test + + src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html + 32 + + No encryption @@ -1256,14 +1306,28 @@ Create new mail account src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts - 33 + 39 Edit mail account src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts - 37 + 43 + + + + Successfully connected to the mail server + + src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts + 88 + + + + Unable to connect to the mail server + + src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts + 89 @@ -2024,45 +2088,6 @@ 12 - - Loading... - - src/app/components/common/permissions-dialog/permissions-dialog.component.html - 18 - - - src/app/components/dashboard/dashboard.component.html - 26 - - - src/app/components/dashboard/widgets/widget-frame/widget-frame.component.html - 7 - - - src/app/components/document-list/document-list.component.html - 95 - - - src/app/components/manage/settings/settings.component.html - 230 - - - src/app/components/manage/settings/settings.component.html - 320 - - - src/app/components/manage/settings/settings.component.html - 406 - - - src/app/components/manage/tasks/tasks.component.html - 19 - - - src/app/components/manage/tasks/tasks.component.html - 27 - - Set Permissions diff --git a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts index 42221dfdd..a2612ccfd 100644 --- a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts @@ -20,7 +20,7 @@ export abstract class EditDialogComponent< > implements OnInit { constructor( - private service: AbstractPaperlessService, + protected service: AbstractPaperlessService, private activeModal: NgbActiveModal, private userService: UserService ) {} diff --git a/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html b/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html index 78dca7bc6..dbdf57397 100644 --- a/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html +++ b/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html @@ -21,6 +21,16 @@ diff --git a/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.scss b/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.scss index e69de29bb..3e8a30fa5 100644 --- a/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.scss +++ b/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.scss @@ -0,0 +1,4 @@ +::ng-deep .alert-dismissible .btn-close { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} diff --git a/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts index 558ec0229..9f3790623 100644 --- a/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts @@ -1,6 +1,6 @@ -import { Component } from '@angular/core' +import { Component, ViewChild } from '@angular/core' import { FormControl, FormGroup } from '@angular/forms' -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { NgbActiveModal, NgbAlert } from '@ng-bootstrap/ng-bootstrap' import { EditDialogComponent } from 'src/app/components/common/edit-dialog/edit-dialog.component' import { IMAPSecurity, @@ -21,6 +21,12 @@ const IMAP_SECURITY_OPTIONS = [ styleUrls: ['./mail-account-edit-dialog.component.scss'], }) export class MailAccountEditDialogComponent extends EditDialogComponent { + testActive: boolean = false + testResult: string + alertTimeout + + @ViewChild('testResultAlert', { static: false }) testResultAlert: NgbAlert + constructor( service: MailAccountService, activeModal: NgbActiveModal, @@ -53,4 +59,33 @@ export class MailAccountEditDialogComponent extends EditDialogComponent { + this.testActive = false + this.testResult = result.success ? 'success' : 'danger' + this.alertTimeout = setTimeout(() => this.testResultAlert.close(), 5000) + }, + error: (e) => { + this.testActive = false + this.testResult = 'danger' + this.alertTimeout = setTimeout(() => this.testResultAlert.close(), 5000) + }, + }) + } + + get testResultMessage() { + return this.testResult === 'success' + ? $localize`Successfully connected to the mail server` + : $localize`Unable to connect to the mail server` + } } diff --git a/src-ui/src/app/services/rest/mail-account.service.ts b/src-ui/src/app/services/rest/mail-account.service.ts index 438aa8c90..33ec182d5 100644 --- a/src-ui/src/app/services/rest/mail-account.service.ts +++ b/src-ui/src/app/services/rest/mail-account.service.ts @@ -48,4 +48,8 @@ export class MailAccountService extends AbstractPaperlessService this.reload())) } + + test(o: PaperlessMailAccount) { + return this.http.post(this.getResourceUrl() + 'test/', o) + } } diff --git a/src-ui/src/theme.scss b/src-ui/src/theme.scss index a53c098f6..0e750f555 100644 --- a/src-ui/src/theme.scss +++ b/src-ui/src/theme.scss @@ -16,6 +16,7 @@ body { --pngx-primary-darken-15: hsl(var(--pngx-primary), calc(var(--pngx-primary-lightness) - 15%)); --pngx-primary-darken-18: hsl(var(--pngx-primary), calc(var(--pngx-primary-lightness) - 18%)); --pngx-primary-darken-27: hsl(var(--pngx-primary), calc(var(--pngx-primary-lightness) - 27%)); + --pngx-success-darken-10: hsl(152, 69%, 11%); // based on success #198754 --pngx-bg-alt: #fff; --pngx-bg-darker: var(--bs-gray-100); --pngx-focus-alpha: 0.3; @@ -205,6 +206,12 @@ $form-check-radio-checked-bg-image-dark: url("data:image/svg+xml,