From 20b7ff9f9f4ae4dc02cb7438e58db4ff99a775dd Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 19 Dec 2024 08:05:06 -0800 Subject: [PATCH 1/2] Fix: resolve test warning --- src-ui/src/app/components/admin/logs/logs.component.spec.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src-ui/src/app/components/admin/logs/logs.component.spec.ts b/src-ui/src/app/components/admin/logs/logs.component.spec.ts index 07a5d85d2..2c17e2e82 100644 --- a/src-ui/src/app/components/admin/logs/logs.component.spec.ts +++ b/src-ui/src/app/components/admin/logs/logs.component.spec.ts @@ -1,6 +1,7 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' +import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { BrowserModule, By } from '@angular/platform-browser' import { NgbModule, NgbNavLink } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' @@ -37,6 +38,8 @@ describe('LogsComponent', () => { BrowserModule, NgbModule, NgxBootstrapIconsModule.pick(allIcons), + FormsModule, + ReactiveFormsModule, ], providers: [ provideHttpClient(withInterceptorsFromDi()), From 2bcbed31e91b12f2d75b4c00d92a2c67e9474231 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 19 Dec 2024 08:08:46 -0800 Subject: [PATCH 2/2] Fix: add some minor frontend permissions checks (#8524) --- src-ui/messages.xlf | 10 +++++----- .../app/components/app-frame/app-frame.component.html | 2 +- .../app/components/app-frame/app-frame.component.ts | 9 ++++++++- src-ui/src/app/services/settings.service.ts | 8 +++++++- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index a4dc5cc4f..102d50ce3 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -1532,7 +1532,7 @@ src/app/components/app-frame/app-frame.component.ts - 125 + 132 @@ -2883,21 +2883,21 @@ Sidebar views updated src/app/components/app-frame/app-frame.component.ts - 209 + 216 Error updating sidebar views src/app/components/app-frame/app-frame.component.ts - 212 + 219 An error occurred while saving update checking settings. src/app/components/app-frame/app-frame.component.ts - 233 + 240 @@ -9592,7 +9592,7 @@ You can restart the tour from the settings page. src/app/services/settings.service.ts - 655 + 661 diff --git a/src-ui/src/app/components/app-frame/app-frame.component.html b/src-ui/src/app/components/app-frame/app-frame.component.html index 2354b68fc..442f9f366 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.html +++ b/src-ui/src/app/components/app-frame/app-frame.component.html @@ -334,7 +334,7 @@ } } @else { - diff --git a/src-ui/src/app/components/app-frame/app-frame.component.ts b/src-ui/src/app/components/app-frame/app-frame.component.ts index efa42f382..92efd7628 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.ts +++ b/src-ui/src/app/components/app-frame/app-frame.component.ts @@ -81,7 +81,14 @@ export class AppFrameComponent if (this.settingsService.get(SETTINGS_KEYS.UPDATE_CHECKING_ENABLED)) { this.checkForUpdates() } - this.tasksService.reload() + if ( + this.permissionsService.currentUserCan( + PermissionAction.View, + PermissionType.PaperlessTask + ) + ) { + this.tasksService.reload() + } this.djangoMessagesService.get().forEach((message) => { switch (message.level) { diff --git a/src-ui/src/app/services/settings.service.ts b/src-ui/src/app/services/settings.service.ts index e270adc81..9e1b3e360 100644 --- a/src-ui/src/app/services/settings.service.ts +++ b/src-ui/src/app/services/settings.service.ts @@ -646,7 +646,13 @@ export class SettingsService { completeTour() { const tourCompleted = this.get(SETTINGS_KEYS.TOUR_COMPLETE) - if (!tourCompleted) { + if ( + !tourCompleted && + this.permissionsService.currentUserCan( + PermissionAction.Change, + PermissionType.UISettings + ) + ) { this.set(SETTINGS_KEYS.TOUR_COMPLETE, true) this.storeSettings() .pipe(first())