From 3d9291d95fd5d0dca5bf3b4f697b17e00bd1008b Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 4 Jul 2025 10:38:51 +1000 Subject: [PATCH] [bug] Allocated items print fix (#9952) * Fix label printing for SalesOrderAllocation table - Need to provide custom lookup option * Add label actions to BuildOrderAllocationTable --- src/frontend/src/tables/InvenTreeTable.tsx | 3 +++ src/frontend/src/tables/InvenTreeTableHeader.tsx | 12 +++++++++++- .../src/tables/build/BuildAllocatedStockTable.tsx | 3 +++ .../src/tables/sales/SalesOrderAllocationTable.tsx | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/tables/InvenTreeTable.tsx b/src/frontend/src/tables/InvenTreeTable.tsx index dfee2841b2..571f03d070 100644 --- a/src/frontend/src/tables/InvenTreeTable.tsx +++ b/src/frontend/src/tables/InvenTreeTable.tsx @@ -52,6 +52,7 @@ const PAGE_SIZES = [10, 15, 20, 25, 50, 100, 500]; * @param enableSearch : boolean - Enable search actions * @param enableLabels : boolean - Enable printing of labels against selected items * @param enableReports : boolean - Enable printing of reports against selected items + * @param printingAccessor : string - Accessor for label and report printing (default = 'pk') * @param enablePagination : boolean - Enable pagination * @param enableRefresh : boolean - Enable refresh actions * @param enableColumnSwitching : boolean - Enable column switching @@ -82,6 +83,7 @@ export type InvenTreeTableProps = { enableColumnCaching?: boolean; enableLabels?: boolean; enableReports?: boolean; + printingAccessor?: string; afterBulkDelete?: () => void; barcodeActions?: React.ReactNode[]; tableFilters?: TableFilter[]; @@ -115,6 +117,7 @@ const defaultInvenTreeTableProps: InvenTreeTableProps = { enableSelection: false, defaultSortColumn: '', barcodeActions: [], + printingAccessor: 'pk', tableFilters: [], tableActions: [] }; diff --git a/src/frontend/src/tables/InvenTreeTableHeader.tsx b/src/frontend/src/tables/InvenTreeTableHeader.tsx index fefedca771..2542b9b8d6 100644 --- a/src/frontend/src/tables/InvenTreeTableHeader.tsx +++ b/src/frontend/src/tables/InvenTreeTableHeader.tsx @@ -25,6 +25,7 @@ import { Boundary } from '../components/Boundary'; import { ActionButton } from '../components/buttons/ActionButton'; import { ButtonMenu } from '../components/buttons/ButtonMenu'; import { PrintingActions } from '../components/buttons/PrintingActions'; +import { resolveItem } from '../functions/conversion'; import useDataExport from '../hooks/UseDataExport'; import { useDeleteApiFormModal } from '../hooks/UseForm'; import { TableColumnSelect } from './ColumnSelect'; @@ -140,6 +141,15 @@ export default function InvenTreeTableHeader({ return (tableState?.queryFilters?.size ?? 0) > 0; }, [tableState.queryFilters]); + // Extract ID values for label and report printing + const printingIdValues = useMemo(() => { + return ( + tableState.selectedRecords?.map((record) => { + return resolveItem(record, tableProps.printingAccessor ?? 'pk'); + }) ?? [] + ); + }, [tableProps.printingAccessor, tableState.selectedRecords]); + return ( <> {exportModal.modal} @@ -165,7 +175,7 @@ export default function InvenTreeTableHeader({