Fix startup without saved view permissions

This commit is contained in:
shamoon 2023-02-20 02:52:16 -08:00
parent 75c5ccccec
commit 588a786d73
3 changed files with 23 additions and 4 deletions

View 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')
})

View 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() {

View 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()
}