Inherited permissions

This commit is contained in:
Michael Shamoon
2022-11-15 20:54:57 -08:00
parent 927a9781ad
commit 355efadf87
6 changed files with 68 additions and 18 deletions

View File

@@ -25,7 +25,7 @@
<app-input-select i18n-title title="Groups" [items]="groups" multiple="true" formControlName="groups"></app-input-select>
</div>
<div class="col">
<app-permissions-select i18n-title title="Permissions" formControlName="user_permissions" [error]="error?.user_permissions"></app-permissions-select>
<app-permissions-select i18n-title title="Permissions" formControlName="user_permissions" [error]="error?.user_permissions" [inheritedPermissions]="inheritedPermissions"></app-permissions-select>
</div>
</div>
</div>

View File

@@ -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<PaperlessUser>
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<PaperlessUser>
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
: []
}
}