Allow deletion of users
This commit is contained in:
parent
3a43f05ce1
commit
be5a3c2dc7
1 changed files with 30 additions and 0 deletions
|
@ -29,6 +29,21 @@
|
||||||
<Button OnClick="() => DemoteUser(context)" Danger>Demote</Button>
|
<Button OnClick="() => DemoteUser(context)" Danger>Demote</Button>
|
||||||
}
|
}
|
||||||
</SpaceItem>
|
</SpaceItem>
|
||||||
|
|
||||||
|
<SpaceItem>
|
||||||
|
@if (!context.Roles.Any(r => r == "Administrator"))
|
||||||
|
{
|
||||||
|
<Popconfirm OnConfirm="() => DeleteUser(context)" Title="Are you sure you want to delete this user?">
|
||||||
|
<Button Icon="@IconType.Outline.Close" Type="@ButtonType.Text" Danger />
|
||||||
|
</Popconfirm>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<Tooltip Title="Admins cannot be deleted. They must be demoted first.">
|
||||||
|
<Button Icon="@IconType.Outline.Close" Type="@ButtonType.Text" Disabled />
|
||||||
|
</Tooltip>
|
||||||
|
}
|
||||||
|
</SpaceItem>
|
||||||
</Space>
|
</Space>
|
||||||
</ActionColumn>
|
</ActionColumn>
|
||||||
</Table>
|
</Table>
|
||||||
|
@ -96,4 +111,19 @@
|
||||||
await RefreshUserList();
|
await RefreshUserList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task DeleteUser(UserViewModel user)
|
||||||
|
{
|
||||||
|
if (UserList.SelectMany(u => u.Roles).Count(r => r == "Administrator") == 1)
|
||||||
|
{
|
||||||
|
await MessageService.Error("Cannot delete the only administrator!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await UserManager.DeleteAsync(UserManager.Users.First(u => u.UserName == user.UserName));
|
||||||
|
await RefreshUserList();
|
||||||
|
|
||||||
|
await MessageService.Success($"Deleted {user.UserName}!");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue