private void LoadRoleAcls(Role role) { if (role == null) { return; } RoleACLs.Clear(); foreach (var acl in role.ACLs) { RoleACLs.Add(new AclWrapper(acl)); } }
private async void OnRemoveRoleExecute() { if (!_rbacManager.LoggedUser.IsAdmin && !_rbacManager.LoggedUserHasPermission(AclVerbNames.UserConfiguration)) { await _messageDialogService.ShowAccessDeniedMessageAsync(this); return; } if (SelectedRole.IsSystem) { await _messageDialogService .ShowInformationMessageAsync(this, "Nie można usunąć roli...", "Nie można usunąć roli systemowej."); return; } if (SelectedRole.Id == _rbacManager.LoggedUser.RoleId) { await _messageDialogService .ShowInformationMessageAsync(this, "Nie można usunąć roli...", "Nie można usunąć obecnie używanej roli."); } if (SelectedRole.Users.Any()) { await _messageDialogService.ShowInformationMessageAsync(this, "Rola w użyciu...", "Wybrana rola jest w użyciu, nie można jej usunąć."); return; } var confirmDialogResult = await _messageDialogService .ShowConfirmationMessageAsync(this, "Czy usunąć rolę?", $"Czy usunąć rolę {SelectedRole.Name}?"); if (confirmDialogResult == DialogResult.Cancel) { return; } _rbacManager.RemoveRole(SelectedRole); Roles.Remove(SelectedRole); RoleACLs.Clear(); }