]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Hide UI tour steps if user doesnt have permissions 3060/head
authorshamoon <4887959+shamoon@users.noreply.github.com>
Sun, 9 Apr 2023 23:36:05 +0000 (16:36 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Sun, 9 Apr 2023 23:39:41 +0000 (16:39 -0700)
src-ui/src/app/app.component.ts
src-ui/src/app/guards/permissions.guard.ts

index 01eac1297ab9f7cf2b807bc0a7db356c10394ce4..e220984961bcc6f1199833e46abeb7e1be57846f 100644 (file)
@@ -155,6 +155,7 @@ export class AppComponent implements OnInit, OnDestroy {
         content: $localize`Drag-and-drop documents here to start uploading or place them in the consume folder. You can also drag-and-drop documents anywhere on all other pages of the web app. Once you do, Paperless-ngx will start training its machine learning algorithms.`,
         route: '/dashboard',
         enableBackdrop: true,
+        isOptional: true,
         prevBtnTitle,
         nextBtnTitle,
         endBtnTitle,
@@ -167,6 +168,7 @@ export class AppComponent implements OnInit, OnDestroy {
         placement: 'bottom',
         enableBackdrop: true,
         disableScrollToAnchor: true,
+        isOptional: true,
         prevBtnTitle,
         nextBtnTitle,
         endBtnTitle,
@@ -177,6 +179,7 @@ export class AppComponent implements OnInit, OnDestroy {
         route: '/documents?sort=created&reverse=1&page=1',
         placement: 'bottom',
         enableBackdrop: true,
+        isOptional: true,
         prevBtnTitle,
         nextBtnTitle,
         endBtnTitle,
@@ -186,6 +189,7 @@ export class AppComponent implements OnInit, OnDestroy {
         content: $localize`Any combination of filters can be saved as a 'view' which can then be displayed on the dashboard and / or sidebar.`,
         route: '/documents?sort=created&reverse=1&page=1',
         enableBackdrop: true,
+        isOptional: true,
         prevBtnTitle,
         nextBtnTitle,
         endBtnTitle,
@@ -195,6 +199,7 @@ export class AppComponent implements OnInit, OnDestroy {
         content: $localize`Tags, correspondents, document types and storage paths can all be managed using these pages. They can also be created from the document edit view.`,
         route: '/tags',
         enableBackdrop: true,
+        isOptional: true,
         prevBtnTitle,
         nextBtnTitle,
         endBtnTitle,
@@ -204,6 +209,7 @@ export class AppComponent implements OnInit, OnDestroy {
         content: $localize`File Tasks shows you documents that have been consumed, are waiting to be, or may have failed during the process.`,
         route: '/tasks',
         enableBackdrop: true,
+        isOptional: true,
         prevBtnTitle,
         nextBtnTitle,
         endBtnTitle,
@@ -213,6 +219,7 @@ export class AppComponent implements OnInit, OnDestroy {
         content: $localize`Check out the settings for various tweaks to the web app, toggle settings for saved views or setup e-mail checking.`,
         route: '/settings',
         enableBackdrop: true,
+        isOptional: true,
         prevBtnTitle,
         nextBtnTitle,
         endBtnTitle,
index 916408fe266394498888d5b07b836dc48857e743..7c9b7287d5161803b1d87c08c2d7b12285ebb6c5 100644 (file)
@@ -8,13 +8,15 @@ import {
 import { Injectable } from '@angular/core'
 import { PermissionsService } from '../services/permissions.service'
 import { ToastService } from '../services/toast.service'
+import { TourService } from 'ngx-ui-tour-ng-bootstrap'
 
 @Injectable()
 export class PermissionsGuard implements CanActivate {
   constructor(
     private permissionsService: PermissionsService,
     private router: Router,
-    private toastService: ToastService
+    private toastService: ToastService,
+    private tourService: TourService
   ) {}
 
   canActivate(
@@ -27,9 +29,12 @@ export class PermissionsGuard implements CanActivate {
         route.data.requiredPermission.type
       )
     ) {
-      this.toastService.showError(
-        $localize`You don't have permissions to do that`
-      )
+      // Check if tour is running 1 = TourState.ON
+      if (this.tourService.getStatus() !== 1) {
+        this.toastService.showError(
+          $localize`You don't have permissions to do that`
+        )
+      }
       return this.router.parseUrl('/dashboard')
     } else {
       return true