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,