update api users and groups and users 9
This commit is contained in:
parent
198b2abe4b
commit
01a3a3dd55
@ -219,19 +219,15 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
throw new Error("Erreur lors de la mise à jour des rôles");
|
throw new Error("Erreur lors de la mise à jour des rôles");
|
||||||
}
|
}
|
||||||
|
|
||||||
await fetchUsers();
|
setUsers(prevUsers => prevUsers.map(user =>
|
||||||
|
user.id === selectedUser.id
|
||||||
|
? { ...user, roles: formData.roles }
|
||||||
|
: user
|
||||||
|
));
|
||||||
|
|
||||||
setFormData({
|
|
||||||
username: "",
|
|
||||||
lastName: "",
|
|
||||||
firstName: "",
|
|
||||||
email: "",
|
|
||||||
password: "",
|
|
||||||
roles: [],
|
|
||||||
enabled: true,
|
|
||||||
});
|
|
||||||
setManageRolesDialog(false);
|
setManageRolesDialog(false);
|
||||||
setSelectedUser(null);
|
setSelectedUser(null);
|
||||||
|
setFormData(prev => ({ ...prev, roles: [] }));
|
||||||
|
|
||||||
toast({
|
toast({
|
||||||
title: "Succès",
|
title: "Succès",
|
||||||
@ -668,7 +664,13 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
</DialogContent>
|
</DialogContent>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
||||||
<Dialog open={manageRolesDialog} onOpenChange={setManageRolesDialog}>
|
<Dialog open={manageRolesDialog} onOpenChange={(open) => {
|
||||||
|
if (!open) {
|
||||||
|
setFormData(prev => ({ ...prev, roles: [] }));
|
||||||
|
setSelectedUser(null);
|
||||||
|
}
|
||||||
|
setManageRolesDialog(open);
|
||||||
|
}}>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
<DialogTitle>Gérer les rôles de {selectedUser?.username}</DialogTitle>
|
<DialogTitle>Gérer les rôles de {selectedUser?.username}</DialogTitle>
|
||||||
@ -702,26 +704,6 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-wrap gap-2 mt-4">
|
|
||||||
{formData.roles.map(role => (
|
|
||||||
<span
|
|
||||||
key={role}
|
|
||||||
className="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-primary text-primary-foreground"
|
|
||||||
>
|
|
||||||
{role}
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={() => setFormData(prev => ({
|
|
||||||
...prev,
|
|
||||||
roles: prev.roles.filter(r => r !== role)
|
|
||||||
}))}
|
|
||||||
className="ml-1.5 inline-flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-full text-primary-foreground hover:bg-primary-foreground/20 focus:outline-none focus:ring-2 focus:ring-primary-foreground focus:ring-offset-2"
|
|
||||||
>
|
|
||||||
×
|
|
||||||
</button>
|
|
||||||
</span>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="flex justify-end space-x-2">
|
<div className="flex justify-end space-x-2">
|
||||||
<Button
|
<Button
|
||||||
@ -729,15 +711,7 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
setManageRolesDialog(false);
|
setManageRolesDialog(false);
|
||||||
setSelectedUser(null);
|
setSelectedUser(null);
|
||||||
setFormData({
|
setFormData(prev => ({ ...prev, roles: [] }));
|
||||||
username: "",
|
|
||||||
lastName: "",
|
|
||||||
firstName: "",
|
|
||||||
email: "",
|
|
||||||
password: "",
|
|
||||||
roles: [],
|
|
||||||
enabled: true,
|
|
||||||
});
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Annuler
|
Annuler
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user