From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 5 Dec 2022 20:28:44 +0000 (-0800) Subject: Fix some merge errors, integrate permissions for frontend mail X-Git-Tag: v1.14.0-beta.rc1~109^2~69 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=629a5dd61edf5e954f1e11a30055a7e168dc61da;p=thirdparty%2Fpaperless-ngx.git Fix some merge errors, integrate permissions for frontend mail --- diff --git a/src-ui/src/app/app-routing.module.ts b/src-ui/src/app/app-routing.module.ts index d0b3acd0e5..c95d1ea7e2 100644 --- a/src-ui/src/app/app-routing.module.ts +++ b/src-ui/src/app/app-routing.module.ts @@ -158,6 +158,13 @@ const routes: Routes = [ path: 'settings/:section', component: SettingsComponent, canDeactivate: [DirtyFormGuard], + canActivate: [PermissionsGuard], + data: { + requiredPermission: { + action: PermissionAction.View, + type: PermissionType.UISettings, + }, + }, }, { path: 'tasks', component: TasksComponent }, ], diff --git a/src-ui/src/app/components/manage/settings/settings.component.html b/src-ui/src/app/components/manage/settings/settings.component.html index dd3ada2967..b557f687a0 100644 --- a/src-ui/src/app/components/manage/settings/settings.component.html +++ b/src-ui/src/app/components/manage/settings/settings.component.html @@ -1,6 +1,6 @@ - + Open Django Admin @@ -227,80 +227,84 @@ -
  • +
  • Mail -

    - Mail accounts - -

    -
      - -
    • -
      -
      Name
      -
      Server
      -
      Actions
      -
      -
    • - -
    • -
      -
      -
      {{account.imap_server}}
      -
      -
      - - + +

      + 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 accounts defined.
      +
    +
    + + +

    + Mail rules + +

    +
      + +
    • +
      +
      Name
      +
      Account
      +
      Actions
      +
      +
    • + +
    • +
      +
      +
      {{(mailAccountService.getCached(rule.account) | async)?.name}}
      +
      +
      + + +
      - -
    • + -
      No mail rules defined.
      -
    +
    No mail rules defined.
    + +
    @@ -318,7 +322,12 @@

    Users - +

      @@ -335,7 +344,7 @@
      {{user.first_name}} {{user.last_name}}
      -
      {{user.groups}}
      +
      {{user.groups?.map(getGroupName, this)}}
      @@ -348,7 +357,12 @@

      Groups - +

        diff --git a/src-ui/src/app/components/manage/settings/settings.component.ts b/src-ui/src/app/components/manage/settings/settings.component.ts index 8c7df6edc1..917dbf4a0a 100644 --- a/src-ui/src/app/components/manage/settings/settings.component.ts +++ b/src-ui/src/app/components/manage/settings/settings.component.ts @@ -246,14 +246,14 @@ export class SettingsComponent this.initialize(false) }) } else if ( - (navID == SettingsNavIDs.UsersGroups && !this.users) || - !this.groups + navID == SettingsNavIDs.UsersGroups && + (!this.users || !this.groups) ) { this.usersService.listAll().subscribe((r) => { this.users = r.results this.groupsService.listAll().subscribe((r) => { this.groups = r.results - this.initialize() + this.initialize(false) }) }) } else if ( @@ -724,6 +724,10 @@ export class SettingsComponent }) } + getGroupName(id: number): string { + return this.groups?.find((g) => g.id === id)?.name ?? '' + } + editMailAccount(account: PaperlessMailAccount) { const modal = this.modalService.open(MailAccountEditDialogComponent, { backdrop: 'static',