update api users and groups and users 9

This commit is contained in:
Alma 2025-04-09 21:17:53 +02:00
parent 198b2abe4b
commit 01a3a3dd55

View File

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