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')
})
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'
})
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() {
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({
export class SavedViewService extends AbstractPaperlessService<PaperlessSavedView> {
loading: boolean
- constructor(http: HttpClient) {
+ constructor(http: HttpClient, permissionService: PermissionsService) {
super(http, 'saved_views')
+ }
+
+ public initialize() {
this.reload()
}