|
|
|
@ -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); |
|
|
|
|
|
|
|
|