diff --git a/src/frontend/src/components/render/Stock.tsx b/src/frontend/src/components/render/Stock.tsx
index 196eed5de1..ec9dda1839 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 39fa22579e..08bf70481f 100644
--- a/src/frontend/src/forms/BuildForms.tsx
+++ b/src/frontend/src/forms/BuildForms.tsx
@@ -587,6 +587,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 90ec80c034..2989cf80a6 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,