From 75e3f522d4c46775626322cb6a5608b85447effa Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 2 Jun 2026 16:43:08 +1000 Subject: [PATCH] Fix for "can convert" logic (#12070) - Fetch full part detail --- src/frontend/src/pages/stock/StockDetail.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/frontend/src/pages/stock/StockDetail.tsx b/src/frontend/src/pages/stock/StockDetail.tsx index da674823b2..a8e2ed47b1 100644 --- a/src/frontend/src/pages/stock/StockDetail.tsx +++ b/src/frontend/src/pages/stock/StockDetail.tsx @@ -122,6 +122,13 @@ export default function StockDetail() { } }); + const { instance: part, instanceQuery: partQuery } = useInstance({ + endpoint: ApiEndpoints.part_list, + pk: stockitem?.part, + hasPrimaryKey: true, + defaultValue: {} + }); + const { instance: serialNumbers, instanceQuery: serialNumbersQuery } = useInstance({ endpoint: ApiEndpoints.stock_serial_info, @@ -884,9 +891,8 @@ export default function StockDetail() { serial != '' && stockitem.quantity == 1; - const canConvert = - !!stockitem.part_detail?.variant_of || - !!stockitem.part_detail?.is_template; + // Allow variant conversion if the part is a variant, or if the part is a template + const canConvert = part?.variant_of || part?.is_template; return [ , @@ -967,7 +973,7 @@ export default function StockDetail() { ]} /> ]; - }, [id, stockitem, user, stockAdjustActions.menuActions]); + }, [id, stockitem, part, user, stockAdjustActions.menuActions]); const stockBadges: ReactNode[] = useMemo(() => { let available = (stockitem?.quantity ?? 0) - (stockitem?.allocated ?? 0);