diff --git a/src/frontend/src/components/render/Stock.tsx b/src/frontend/src/components/render/Stock.tsx
index 196eed5de1b4..ec9dda1839aa 100644
--- a/src/frontend/src/components/render/Stock.tsx
+++ b/src/frontend/src/components/render/Stock.tsx
@@ -13,6 +13,7 @@ import {
type InstanceRenderInterface,
RenderInlineModel
} from './Instance';
+import { StatusRenderer, getStatusCodes } from './StatusRenderer';
/**
* Inline rendering of a single StockLocation instance
@@ -102,6 +103,17 @@ export function RenderStockItem(
const showLocation: boolean = props.extra?.show_location !== false;
const location: any = props.instance?.location_detail;
+ const statusKey = instance?.status_custom_key ?? instance?.status;
+ const flaggedStatusNames = ['ATTENTION', 'DAMAGED'];
+ const statusCodes = getStatusCodes(ModelType.stockitem);
+ const showStatus =
+ props.extra?.show_status === true &&
+ !!statusCodes &&
+ Object.values(statusCodes.values).some(
+ (entry) =>
+ entry.key == statusKey && flaggedStatusNames.includes(entry.name)
+ );
+
// Form the "secondary" text to display
const secondary: ReactNode = (
@@ -111,6 +123,9 @@ export function RenderStockItem(
{instance.batch && (
)}
+ {showStatus && (
+
+ )}
);
diff --git a/src/frontend/src/forms/BuildForms.tsx b/src/frontend/src/forms/BuildForms.tsx
index 2f694c841c96..a2d2bd03c676 100644
--- a/src/frontend/src/forms/BuildForms.tsx
+++ b/src/frontend/src/forms/BuildForms.tsx
@@ -568,6 +568,9 @@ function BuildAllocateLineRow({
field_type: 'related field',
api_url: apiUrl(ApiEndpoints.stock_item_list),
model: ModelType.stockitem,
+ modelRenderer: ({ instance }: { instance: any }) => (
+
+ ),
autoFill: !output || !!output?.serial,
autoFillFilters: {
serial: output?.serial
diff --git a/src/frontend/src/forms/SalesOrderForms.tsx b/src/frontend/src/forms/SalesOrderForms.tsx
index 163861db2424..c0660001e146 100644
--- a/src/frontend/src/forms/SalesOrderForms.tsx
+++ b/src/frontend/src/forms/SalesOrderForms.tsx
@@ -15,6 +15,7 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
import { ModelType } from '@lib/enums/ModelType';
import RemoveRowButton from '../components/buttons/RemoveRowButton';
import { StandaloneField } from '../components/forms/StandaloneField';
+import { RenderStockItem } from '../components/render/Stock';
import { ProgressBar } from '@lib/components/ProgressBar';
import { apiUrl } from '@lib/functions/Api';
@@ -319,6 +320,9 @@ function SalesOrderAllocateLineRow({
field_type: 'related field',
api_url: apiUrl(ApiEndpoints.stock_item_list),
model: ModelType.stockitem,
+ modelRenderer: ({ instance }: { instance: any }) => (
+
+ ),
autoFill: true,
filters: {
available: true,