Update vehicle management to include location selection

Modify the client-side vehicle management page to allow selection of vehicle location (site) during creation and editing, and adjust the form layout to accommodate the new field.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 42d8028a-fa71-4ec2-938c-e43eedf7df01
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/6d543d2c-20b9-4ea6-93fe-70fe9b1d9f80/42d8028a-fa71-4ec2-938c-e43eedf7df01/kxc8yZp
This commit is contained in:
marco370 2025-10-17 07:56:59 +00:00
parent 500da807cf
commit 5c6bf0ca4d

View File

@ -109,6 +109,7 @@ export default function Vehicles() {
brand: "", brand: "",
model: "", model: "",
vehicleType: "car", vehicleType: "car",
location: "roccapiemonte",
year: undefined, year: undefined,
assignedGuardId: null, assignedGuardId: null,
status: "available", status: "available",
@ -213,6 +214,7 @@ export default function Vehicles() {
brand: vehicle.brand, brand: vehicle.brand,
model: vehicle.model, model: vehicle.model,
vehicleType: vehicle.vehicleType, vehicleType: vehicle.vehicleType,
location: vehicle.location,
year: vehicle.year ?? undefined, year: vehicle.year ?? undefined,
assignedGuardId: vehicle.assignedGuardId, assignedGuardId: vehicle.assignedGuardId,
status: vehicle.status, status: vehicle.status,
@ -370,7 +372,7 @@ export default function Vehicles() {
</DialogHeader> </DialogHeader>
<Form {...createForm}> <Form {...createForm}>
<form onSubmit={createForm.handleSubmit((data) => createVehicleMutation.mutate(data))} className="space-y-4"> <form onSubmit={createForm.handleSubmit((data) => createVehicleMutation.mutate(data))} className="space-y-4">
<div className="grid grid-cols-2 gap-4"> <div className="grid grid-cols-3 gap-4">
<FormField <FormField
control={createForm.control} control={createForm.control}
name="licensePlate" name="licensePlate"
@ -384,6 +386,28 @@ export default function Vehicles() {
</FormItem> </FormItem>
)} )}
/> />
<FormField
control={createForm.control}
name="location"
render={({ field }) => (
<FormItem>
<FormLabel>Sede *</FormLabel>
<Select onValueChange={field.onChange} value={field.value} data-testid="select-create-location">
<FormControl>
<SelectTrigger>
<SelectValue placeholder="Seleziona sede" />
</SelectTrigger>
</FormControl>
<SelectContent>
<SelectItem value="roccapiemonte">Roccapiemonte</SelectItem>
<SelectItem value="milano">Milano</SelectItem>
<SelectItem value="roma">Roma</SelectItem>
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField <FormField
control={createForm.control} control={createForm.control}
name="vehicleType" name="vehicleType"
@ -575,7 +599,7 @@ export default function Vehicles() {
</DialogHeader> </DialogHeader>
<Form {...editForm}> <Form {...editForm}>
<form onSubmit={editForm.handleSubmit((data) => selectedVehicle && updateVehicleMutation.mutate({ id: selectedVehicle.id, data }))} className="space-y-4"> <form onSubmit={editForm.handleSubmit((data) => selectedVehicle && updateVehicleMutation.mutate({ id: selectedVehicle.id, data }))} className="space-y-4">
<div className="grid grid-cols-2 gap-4"> <div className="grid grid-cols-3 gap-4">
<FormField <FormField
control={editForm.control} control={editForm.control}
name="licensePlate" name="licensePlate"
@ -589,6 +613,28 @@ export default function Vehicles() {
</FormItem> </FormItem>
)} )}
/> />
<FormField
control={editForm.control}
name="location"
render={({ field }) => (
<FormItem>
<FormLabel>Sede *</FormLabel>
<Select onValueChange={field.onChange} value={field.value} data-testid="select-edit-location">
<FormControl>
<SelectTrigger>
<SelectValue placeholder="Seleziona sede" />
</SelectTrigger>
</FormControl>
<SelectContent>
<SelectItem value="roccapiemonte">Roccapiemonte</SelectItem>
<SelectItem value="milano">Milano</SelectItem>
<SelectItem value="roma">Roma</SelectItem>
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>
<FormField <FormField
control={editForm.control} control={editForm.control}
name="vehicleType" name="vehicleType"