|
|
|
|
@ -94,8 +94,15 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
|
|
|
|
|
return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
isGrantedByRole(grantedProviders: PermissionManagement.GrantedProvider[]): boolean {
|
|
|
|
|
if (grantedProviders.length) {
|
|
|
|
|
return grantedProviders.findIndex(p => p.providerName === 'Role') === -1 ? false : true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {
|
|
|
|
|
if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;
|
|
|
|
|
if (clickedPermission.isGranted && this.isGrantedByRole(clickedPermission.grantedProviders)) return;
|
|
|
|
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
this.permissions = this.permissions.map(per => {
|
|
|
|
|
@ -150,7 +157,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
|
|
|
|
|
onClickSelectThisTab() {
|
|
|
|
|
this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {
|
|
|
|
|
permissions.forEach(permission => {
|
|
|
|
|
if (permission.isGranted && permission.grantedProviders.length > 0) return;
|
|
|
|
|
if (permission.isGranted && this.isGrantedByRole(permission.grantedProviders)) return;
|
|
|
|
|
|
|
|
|
|
const index = this.permissions.findIndex(per => per.name === permission.name);
|
|
|
|
|
|
|
|
|
|
|