From 355efadf87500c8b3488ece6de3b7403fce5f827 Mon Sep 17 00:00:00 2001
From: Michael Shamoon <4887959+shamoon@users.noreply.github.com>
Date: Tue, 15 Nov 2022 20:54:57 -0800
Subject: [PATCH] Inherited permissions
---
.../user-edit-dialog.component.html | 2 +-
.../user-edit-dialog.component.ts | 13 ++++-
.../permissions-select.component.html | 8 +--
.../permissions-select.component.ts | 56 +++++++++++++++++--
.../src/app/services/permissions.service.ts | 2 +-
src/paperless/serialisers.py | 5 --
6 files changed, 68 insertions(+), 18 deletions(-)
diff --git a/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html b/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html
index b2fef4048..5bb5b5d81 100644
--- a/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html
+++ b/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html
@@ -25,7 +25,7 @@
diff --git a/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.ts
index e376a50d2..6b3943f80 100644
--- a/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.ts
+++ b/src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.ts
@@ -1,4 +1,4 @@
-import { Component } from '@angular/core'
+import { Component, OnInit } from '@angular/core'
import { FormControl, FormGroup } from '@angular/forms'
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
import { first } from 'rxjs'
@@ -42,8 +42,8 @@ export class UserEditDialogComponent extends EditDialogComponent
username: new FormControl(''),
first_name: new FormControl(''),
last_name: new FormControl(''),
- is_active: new FormControl(null),
- is_superuser: new FormControl(null),
+ is_active: new FormControl(true),
+ is_superuser: new FormControl(false),
groups: new FormControl(null),
user_permissions: new FormControl(null),
})
@@ -56,4 +56,11 @@ export class UserEditDialogComponent extends EditDialogComponent
this.objectForm.get('user_permissions').enable()
}
}
+
+ get inheritedPermissions(): string[] {
+ const groupsVal = this.objectForm.get('groups').value
+ return groupsVal !== null
+ ? this.groups.find((g) => g.id == groupsVal)?.permissions
+ : []
+ }
}
diff --git a/src-ui/src/app/components/common/permissions-select/permissions-select.component.html b/src-ui/src/app/components/common/permissions-select/permissions-select.component.html
index 8da26458a..9f089449a 100644
--- a/src-ui/src/app/components/common/permissions-select/permissions-select.component.html
+++ b/src-ui/src/app/components/common/permissions-select/permissions-select.component.html
@@ -12,13 +12,13 @@
{{type.key}}:
-