Fix: enforce object permissions for app config (#5516)

This commit is contained in:
shamoon
2024-01-23 12:23:15 -08:00
committed by GitHub
parent 39e67b957d
commit bb45d3d2ff
5 changed files with 10 additions and 4 deletions

View File

@@ -186,8 +186,8 @@ export const routes: Routes = [
canActivate: [PermissionsGuard],
data: {
requiredPermission: {
action: PermissionAction.View,
type: PermissionType.Admin,
action: PermissionAction.Change,
type: PermissionType.AppConfig,
},
},
},

View File

@@ -235,7 +235,7 @@
<i-bs class="me-1" name="gear"></i-bs><span>&nbsp;<ng-container i18n>Settings</ng-container></span>
</a>
</li>
<li class="nav-item" *pngxIfPermissions="{ action: PermissionAction.View, type: PermissionType.Admin }">
<li class="nav-item" *pngxIfPermissions="{ action: PermissionAction.Change, type: PermissionType.AppConfig }">
<a class="nav-link" routerLink="config" routerLinkActive="active" (click)="closeMenu()"
ngbPopover="Configuration" i18n-ngbPopover [disablePopover]="!slimSidebarEnabled" placement="end"
container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim">

View File

@@ -260,6 +260,10 @@ describe('PermissionsService', () => {
'view_customfield',
'change_customfield',
'delete_customfield',
'add_applicationconfiguration',
'change_applicationconfiguration',
'delete_applicationconfiguration',
'view_applicationconfiguration',
],
{
username: 'testuser',

View File

@@ -17,6 +17,7 @@ export enum PermissionType {
StoragePath = '%s_storagepath',
SavedView = '%s_savedview',
PaperlessTask = '%s_paperlesstask',
AppConfig = '%s_applicationconfiguration',
UISettings = '%s_uisettings',
Note = '%s_note',
MailAccount = '%s_mailaccount',