update api users and groups and users 13

This commit is contained in:
Alma 2025-04-09 21:46:04 +02:00
parent 4a9bfebecf
commit c8a4bd0074

View File

@ -37,6 +37,7 @@ import {
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import { Checkbox } from "@/components/ui/checkbox";
interface User {
id: string;
@ -425,28 +426,30 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
</DialogHeader>
<form onSubmit={handleAddUser} className="space-y-4">
<div className="space-y-2">
<Label htmlFor="username">Nom d'utilisateur</Label>
<Label htmlFor="username">Username</Label>
<Input
id="username"
value={formData.username}
onChange={(e) => setFormData(prev => ({ ...prev, username: e.target.value }))}
onChange={(e) => setFormData(prev => ({ ...prev, username: e.target.value.trim() }))}
required
/>
</div>
<div className="space-y-2">
<Label htmlFor="firstName">Prénom</Label>
<Label htmlFor="firstName">First Name</Label>
<Input
id="firstName"
value={formData.firstName}
onChange={(e) => setFormData(prev => ({ ...prev, firstName: e.target.value }))}
onChange={(e) => setFormData(prev => ({ ...prev, firstName: e.target.value.trim() }))}
required
/>
</div>
<div className="space-y-2">
<Label htmlFor="lastName">Nom</Label>
<Label htmlFor="lastName">Last Name</Label>
<Input
id="lastName"
value={formData.lastName}
onChange={(e) => setFormData(prev => ({ ...prev, lastName: e.target.value }))}
onChange={(e) => setFormData(prev => ({ ...prev, lastName: e.target.value.trim() }))}
required
/>
</div>
<div className="space-y-2">
@ -455,12 +458,12 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
id="email"
type="email"
value={formData.email}
onChange={(e) => setFormData(prev => ({ ...prev, email: e.target.value }))}
onChange={(e) => setFormData(prev => ({ ...prev, email: e.target.value.trim() }))}
required
/>
</div>
<div className="space-y-2">
<Label htmlFor="password">Mot de passe</Label>
<Label htmlFor="password">Password</Label>
<Input
id="password"
type="password"
@ -470,44 +473,26 @@ export function UsersTable({ userRole = [] }: UsersTableProps) {
/>
</div>
<div className="space-y-2">
<Label htmlFor="roles">les</Label>
<div className="flex flex-wrap gap-2">
<Label>Roles</Label>
<div className="space-y-2">
{roles.map((role) => (
<div key={role.id} className="flex items-center space-x-2">
<input
type="checkbox"
<Checkbox
id={`role-${role.id}`}
checked={formData.roles.includes(role.name)}
onChange={(e) => {
onCheckedChange={(checked) => {
setFormData(prev => ({
...prev,
roles: e.target.checked
roles: checked
? [...prev.roles, role.name]
: prev.roles.filter(r => r !== role.name)
}));
}}
/>
<label htmlFor={`role-${role.id}`}>{role.name}</label>
<Label htmlFor={`role-${role.id}`}>{role.name}</Label>
</div>
))}
</div>
<div className="flex flex-wrap gap-2 mt-2">
{formData.roles.map(role => (
<span key={role} className="px-2 py-1 bg-gray-100 rounded-md text-sm">
{role}
<button
type="button"
onClick={() => setFormData(prev => ({
...prev,
roles: prev.roles.filter(r => r !== role)
}))}
className="ml-2 text-gray-500 hover:text-gray-700"
>
×
</button>
</span>
))}
</div>
</div>
<Button type="submit" className="w-full">
Créer l'utilisateur