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 + +

    +
      + +
    • +
      +
      Name
      +
      Server
      +
      Actions
      +
      +
    • + +
    • +
      +
      +
      {{account.imap_server}}
      +
      +
      + + +
      +
      +
      +
    • + +
      No mail accounts defined.
      +
    + +

    + Mail rules + +

    +
      + +
    • +
      +
      Name
      +
      Account
      +
      Actions
      +
      +
    • + +
    • +
      +
      +
      {{(mailAccountService.getCached(rule.account) | async)?.name}}
      +
      +
      + + +
      +
      +
      +
    • + +
      No mail rules defined.
      +
    +
    + +
    +
    +
    Loading...
    +
    + +
    +
  • ++ +
  • + Mail + + + + +

    + Mail accounts + +

    +
      + +
    • +
      +
      Name
      +
      Server
      +
      Actions
      +
      +
    • + +
    • +
      +
      +
      {{account.imap_server}}
      +
      +
      + + +
      +
      +
      +
    • + +
      No mail accounts defined.
      +
    +
    + + +

    + Mail rules + +

    +
      + +
    • +
      +
      Name
      +
      Account
      +
      Actions
      +
      +
    • + +
    • +
      +
      +
      {{(mailAccountService.getCached(rule.account) | async)?.name}}
      +
      +
      + + +
      +
      +
      +
    • + +
      No mail rules defined.
      +
    +
    +
    + +
    +
    +
    Loading...
    +
    + +
    +
  • + +
  • + Users & Groups + + + +

    + Users + +

    +
      + +
    • +
      +
      Username
      +
      Name
      +
      Groups
      +
      Actions
      +
      +
    • + +
    • +
      +
      +
      {{user.first_name}} {{user.last_name}}
      +
      {{user.groups?.map(getGroupName, this).join(', ')}}
      +
      +
      + + +
      +
      +
      +
    • +
    + +

    + Groups + +

    +
      + +
    • +
      +
      Name
      +
      +
      +
      Actions
      +
      +
    • + +
    • +
      +
      +
      +
      +
      +
      + + +
      +
      +
      +
    • +
    + +
    No groups defined
    +
    + +
    +
    +
    Loading...
    +
    + +
    +
  • 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'