Add configurable default for PO line item merging (#12472)

* Add configurable default for PO line item merging

Introduce PURCHASEORDER_MERGE_LINE_ITEMS global setting to control the
default state of the merge_items option when creating purchase order lines.

Fixes #10947

* Apply ruff and biome formatting for CI
This commit is contained in:
Senior Data Engineer
2026-07-27 11:10:11 +10:00
committed by GitHub
parent b5abf47115
commit e43390badb
8 changed files with 71 additions and 4 deletions
@@ -32,6 +32,7 @@ import { usePurchaseOrderFields } from '../../forms/PurchaseOrderForms';
import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import useWizard from '../../hooks/UseWizard';
import { useGlobalSettingsState } from '../../states/SettingsStates';
import RemoveRowButton from '../buttons/RemoveRowButton';
import { StandaloneField } from '../forms/StandaloneField';
import Expand from '../items/Expand';
@@ -195,6 +196,7 @@ function SelectPartsStep({
const [selectedRecord, setSelectedRecord] = useState<PartOrderRecord | null>(
null
);
const globalSettings = useGlobalSettingsState();
const purchaseOrderFields = usePurchaseOrderFields({
supplierId: selectedRecord?.supplier_part?.supplier
@@ -240,9 +242,11 @@ function SelectPartsStep({
},
purchase_price: {},
purchase_price_currency: {},
merge_items: {}
merge_items: {
default: globalSettings.isSet('PURCHASEORDER_MERGE_LINE_ITEMS', true)
}
};
}, [selectedRecord]);
}, [selectedRecord, globalSettings]);
const addToOrder = useCreateApiFormModal({
url: apiUrl(ApiEndpoints.purchase_order_line_list),
@@ -220,7 +220,9 @@ export function usePurchaseOrderLineItemFields({
}
if (create) {
fields['merge_items'] = {};
fields['merge_items'] = {
default: globalSettings.isSet('PURCHASEORDER_MERGE_LINE_ITEMS', true)
};
}
return fields;