update api users and groups and users 7
This commit is contained in:
parent
9d0b462a67
commit
5ff393d6ca
@ -190,7 +190,14 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
if (!user) return;
|
if (!user) return;
|
||||||
|
|
||||||
setSelectedUser(user);
|
setSelectedUser(user);
|
||||||
setFormData(prev => ({ ...prev, roles: user.roles || [] }));
|
setFormData(prev => ({
|
||||||
|
...prev,
|
||||||
|
roles: user.roles || [],
|
||||||
|
username: user.username,
|
||||||
|
firstName: user.firstName || "",
|
||||||
|
lastName: user.lastName || "",
|
||||||
|
email: user.email || "",
|
||||||
|
}));
|
||||||
setManageRolesDialog(true);
|
setManageRolesDialog(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -214,6 +221,15 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
|
|
||||||
await fetchUsers();
|
await fetchUsers();
|
||||||
|
|
||||||
|
setFormData({
|
||||||
|
username: "",
|
||||||
|
lastName: "",
|
||||||
|
firstName: "",
|
||||||
|
email: "",
|
||||||
|
password: "",
|
||||||
|
roles: [],
|
||||||
|
enabled: true,
|
||||||
|
});
|
||||||
setManageRolesDialog(false);
|
setManageRolesDialog(false);
|
||||||
setSelectedUser(null);
|
setSelectedUser(null);
|
||||||
|
|
||||||
@ -663,9 +679,9 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<Label>Rôles</Label>
|
<Label>Rôles</Label>
|
||||||
<div className="flex flex-wrap gap-2">
|
<div className="grid grid-cols-2 gap-2">
|
||||||
{roles.map((role) => (
|
{roles.map((role) => (
|
||||||
<div key={role.id} className="flex items-center space-x-2">
|
<div key={role.id} className="flex items-center space-x-2 p-2 rounded-md hover:bg-gray-100">
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id={`manage-role-${role.id}`}
|
id={`manage-role-${role.id}`}
|
||||||
@ -678,14 +694,23 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
: prev.roles.filter(r => r !== role.name)
|
: prev.roles.filter(r => r !== role.name)
|
||||||
}));
|
}));
|
||||||
}}
|
}}
|
||||||
|
className="h-4 w-4 text-primary focus:ring-primary"
|
||||||
/>
|
/>
|
||||||
<label htmlFor={`manage-role-${role.id}`}>{role.name}</label>
|
<label
|
||||||
|
htmlFor={`manage-role-${role.id}`}
|
||||||
|
className="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
||||||
|
>
|
||||||
|
{role.name}
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-wrap gap-2 mt-2">
|
<div className="flex flex-wrap gap-2 mt-4">
|
||||||
{formData.roles.map(role => (
|
{formData.roles.map(role => (
|
||||||
<span key={role} className="px-2 py-1 bg-gray-100 rounded-md text-sm">
|
<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}
|
{role}
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
@ -693,7 +718,7 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
...prev,
|
...prev,
|
||||||
roles: prev.roles.filter(r => r !== role)
|
roles: prev.roles.filter(r => r !== role)
|
||||||
}))}
|
}))}
|
||||||
className="ml-2 text-gray-500 hover:text-gray-700"
|
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>
|
</button>
|
||||||
@ -701,9 +726,29 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Button onClick={handleUpdateRoles} className="w-full">
|
<div className="flex justify-end space-x-2">
|
||||||
Mettre à jour les rôles
|
<Button
|
||||||
</Button>
|
variant="outline"
|
||||||
|
onClick={() => {
|
||||||
|
setManageRolesDialog(false);
|
||||||
|
setSelectedUser(null);
|
||||||
|
setFormData({
|
||||||
|
username: "",
|
||||||
|
lastName: "",
|
||||||
|
firstName: "",
|
||||||
|
email: "",
|
||||||
|
password: "",
|
||||||
|
roles: [],
|
||||||
|
enabled: true,
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Annuler
|
||||||
|
</Button>
|
||||||
|
<Button onClick={handleUpdateRoles}>
|
||||||
|
Mettre à jour les rôles
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user