[dyad] wrote 1 file(s)

This commit is contained in:
[dyad] 2025-09-12 08:07:26 +02:00
parent 70e6a0a70d
commit 4cefd74120

View file

@ -16,7 +16,6 @@ import {
} from "@/components/ui/form"
import { Input } from "@/components/ui/input"
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
import { Calendar } from "@/components/ui/calendar"
import { showSuccess, showError } from "@/utils/toast"
import pb from "@/lib/pocketbase"
import { StockItem } from "@/components/stock/columns"
@ -25,7 +24,6 @@ const statusOptions = ["Pending", "Ordered", "Received"] as const
const formSchema = z.object({
supplierName: z.string().min(2, { message: "Supplier name must be at least 2 characters." }),
orderDate: z.date({ required_error: "Order date is required." }),
status: z.enum(statusOptions),
items: z.array(z.object({
stockItemId: z.string({ required_error: "Select an item." }),
@ -69,7 +67,6 @@ export function PurchaseOrderForm({ setOpen, refreshData }: PurchaseOrderFormPro
resolver: zodResolver(formSchema),
defaultValues: {
supplierName: "",
orderDate: new Date(),
status: "Pending",
items: [{ stockItemId: "", quantity: 1 }],
},
@ -82,13 +79,16 @@ export function PurchaseOrderForm({ setOpen, refreshData }: PurchaseOrderFormPro
async function onSubmit(values: FormSchema) {
try {
// Set orderDate to current date automatically
const orderDate = new Date().toISOString()
// Prepare items relation and quantities
const itemIds = values.items.map(i => i.stockItemId)
const quantities = values.items.map(i => i.quantity)
await pb.collection('purchase_orders').create({
supplierName: values.supplierName,
orderDate: values.orderDate.toISOString(),
orderDate,
status: values.status,
items: itemIds,
quantities: quantities,
@ -120,24 +120,6 @@ export function PurchaseOrderForm({ setOpen, refreshData }: PurchaseOrderFormPro
</FormItem>
)}
/>
<FormField
control={form.control}
name="orderDate"
render={({ field }) => (
<FormItem>
<FormLabel>Order Date</FormLabel>
<FormControl>
<Calendar
mode="single"
selected={field.value}
onSelect={field.onChange}
className="w-full"
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="status"