From: Michael Shamoon <4887959+shamoon@users.noreply.github.com>
Date: Mon, 5 Dec 2022 23:56:32 +0000 (-0800)
Subject: Merge branch 'dev' into feature-global-ui-permissions
X-Git-Tag: v1.14.0-beta.rc1~109^2~66
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0bccc6a95b6f7397d1ba4263d8b44a15e112c40;p=thirdparty%2Fpaperless-ngx.git
Merge branch 'dev' into feature-global-ui-permissions
---
c0bccc6a95b6f7397d1ba4263d8b44a15e112c40
diff --cc src-ui/src/app/app-routing.module.ts
index c95d1ea7e2,084bc4a0b3..10a4ca3012
--- a/src-ui/src/app/app-routing.module.ts
+++ b/src-ui/src/app/app-routing.module.ts
@@@ -135,37 -46,12 +135,42 @@@ const routes: Routes =
path: 'settings',
component: SettingsComponent,
canDeactivate: [DirtyFormGuard],
+ canActivate: [PermissionsGuard],
+ data: {
+ requiredPermission: {
+ action: PermissionAction.View,
+ type: PermissionType.UISettings,
+ },
+ },
+ },
+ {
+ path: 'tasks',
+ component: TasksComponent,
+ canActivate: [PermissionsGuard],
+ data: {
+ requiredPermission: {
+ action: PermissionAction.View,
+ type: PermissionType.PaperlessTask,
+ },
+ },
+ },
+ {
+ path: 'settings/:section',
+ component: SettingsComponent,
+ canDeactivate: [DirtyFormGuard],
+ canActivate: [PermissionsGuard],
+ data: {
+ requiredPermission: {
+ action: PermissionAction.View,
+ type: PermissionType.UISettings,
+ },
+ },
},
+ {
+ path: 'settings/:section',
+ component: SettingsComponent,
+ canDeactivate: [DirtyFormGuard],
+ },
{ path: 'tasks', component: TasksComponent },
],
},
diff --cc src-ui/src/app/components/manage/settings/settings.component.html
index 72a995fe93,0286e3561b..36ef377047
--- a/src-ui/src/app/components/manage/settings/settings.component.html
+++ b/src-ui/src/app/components/manage/settings/settings.component.html
@@@ -227,179 -227,89 +227,263 @@@
+
+ Mail
+
+
+
+
+ Mail accounts
+
+
+
+
+
+ Mail rules
+
+
+
+
+ -
+
+
Name
+
Account
+
Actions
+
+
+
+ -
+
+
+
{{(mailAccountService.getCached(rule.account) | async)?.name}}
+
+
+
+
+ No mail rules defined.
+
+
+
+
+
+
+
++
+
+ Mail
+
+
+
+
+
+ Mail accounts
+
+
+
+
+
+
+
+ Mail rules
+
+
+
+
+ -
+
+
Name
+
Account
+
Actions
+
+
+
+ -
+
+
+
{{(mailAccountService.getCached(rule.account) | async)?.name}}
+
+
+
+
+ No mail rules defined.
+
+
+
+
+
+
+
+
+
+
+ Users & Groups
+
+
+
+
+ Users
+
+
+
+
+ -
+
+
Username
+
Name
+
Groups
+
Actions
+
+
+
+ -
+
+
+
{{user.first_name}} {{user.last_name}}
+
{{user.groups?.map(getGroupName, this).join(', ')}}
+
+
+
+
+
+
+ Groups
+
+
+ 0" class="list-group" formGroupName="groupsGroup">
+
+ -
+
+
+
+ -
+
+
+
+
+ No groups defined
+
+
+
+
+
+
diff --cc src-ui/src/app/components/manage/settings/settings.component.ts
index 917dbf4a0a,2d23874fd7..dded419c7c
--- a/src-ui/src/app/components/manage/settings/settings.component.ts
+++ b/src-ui/src/app/components/manage/settings/settings.component.ts
@@@ -29,16 -29,6 +29,15 @@@ import { SETTINGS_KEYS } from 'src/app/
import { ActivatedRoute, Router } from '@angular/router'
import { ViewportScroller } from '@angular/common'
import { TourService } from 'ngx-ui-tour-ng-bootstrap'
+import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component'
+import { NgbModal, NgbNavChangeEvent } from '@ng-bootstrap/ng-bootstrap'
- import { Results } from 'src/app/data/results'
+import { UserService } from 'src/app/services/rest/user.service'
+import { GroupService } from 'src/app/services/rest/group.service'
+import { PaperlessUser } from 'src/app/data/paperless-user'
+import { PaperlessGroup } from 'src/app/data/paperless-group'
+import { UserEditDialogComponent } from '../../common/edit-dialog/user-edit-dialog/user-edit-dialog.component'
+import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component'
+import { GroupEditDialogComponent } from '../../common/edit-dialog/group-edit-dialog/group-edit-dialog.component'
import { PaperlessMailAccount } from 'src/app/data/paperless-mail-account'
import { PaperlessMailRule } from 'src/app/data/paperless-mail-rule'
import { MailAccountService } from 'src/app/services/rest/mail-account.service'