]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Fix startup without saved view permissions 2717/head
authorshamoon <4887959+shamoon@users.noreply.github.com>
Mon, 20 Feb 2023 10:52:16 +0000 (02:52 -0800)
committershamoon <4887959+shamoon@users.noreply.github.com>
Mon, 20 Feb 2023 11:10:03 +0000 (03:10 -0800)
src-ui/cypress/e2e/settings/settings.cy.ts
src-ui/src/app/components/dashboard/dashboard.component.ts
src-ui/src/app/services/rest/saved-view.service.ts

index 95443bbe2e56dcc2cae15a6f8842b14463b71bea..259f1540362b382417a2d180b0fa086343354ea3 100644 (file)
@@ -115,7 +115,7 @@ describe('settings', () => {
     cy.contains('a', 'Dashboard').click()
     cy.contains('You have unsaved changes')
     cy.contains('button', 'Cancel').click()
-    cy.contains('button', 'Save').click().wait('@savedViews').wait(2000)
+    cy.contains('button', 'Save').click().wait(2000)
     cy.contains('a', 'Dashboard').click()
     cy.contains('You have unsaved changes').should('not.exist')
   })
index f2eddae37aca97c137d0f6b525a99690b977467a..271e2cf14747d47e27cecbc9d76d908ba540124d 100644 (file)
@@ -1,4 +1,9 @@
 import { Component } from '@angular/core'
+import {
+  PermissionAction,
+  PermissionsService,
+  PermissionType,
+} from 'src/app/services/permissions.service'
 import { SavedViewService } from 'src/app/services/rest/saved-view.service'
 import { SettingsService } from 'src/app/services/settings.service'
 import { ComponentWithPermissions } from '../with-permissions/with-permissions.component'
@@ -10,10 +15,20 @@ import { ComponentWithPermissions } from '../with-permissions/with-permissions.c
 })
 export class DashboardComponent extends ComponentWithPermissions {
   constructor(
-    public savedViewService: SavedViewService,
-    public settingsService: SettingsService
+    public settingsService: SettingsService,
+    private permissionsService: PermissionsService,
+    public savedViewService: SavedViewService
   ) {
     super()
+
+    if (
+      permissionsService.currentUserCan(
+        PermissionAction.View,
+        PermissionType.SavedView
+      )
+    ) {
+      savedViewService.initialize()
+    }
   }
 
   get subtitle() {
index 46df5e72cf8a25f3109215f292db4699b70fd8c4..307eaae10048289b938725aed1a2934a62804b57 100644 (file)
@@ -3,6 +3,7 @@ import { Injectable } from '@angular/core'
 import { combineLatest, Observable } from 'rxjs'
 import { tap } from 'rxjs/operators'
 import { PaperlessSavedView } from 'src/app/data/paperless-saved-view'
+import { PermissionsService } from '../permissions.service'
 import { AbstractPaperlessService } from './abstract-paperless-service'
 
 @Injectable({
@@ -11,8 +12,11 @@ import { AbstractPaperlessService } from './abstract-paperless-service'
 export class SavedViewService extends AbstractPaperlessService<PaperlessSavedView> {
   loading: boolean
 
-  constructor(http: HttpClient) {
+  constructor(http: HttpClient, permissionService: PermissionsService) {
     super(http, 'saved_views')
+  }
+
+  public initialize() {
     this.reload()
   }