From d7f05cdcb7b8637d711f7f87a5245a15c7575d24 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 7 Feb 2024 22:08:32 +1100 Subject: [PATCH] Fix for issue 6442 (#6443) (#6444) - Add null option to status field for stock adjustment - Prevent stock adjustments from setting status to OK (cherry picked from commit edd6f254111ee05a199923ce28cc24cce6b6b3e4) Co-authored-by: Oliver --- InvenTree/stock/serializers.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 593065f9ef..9253b34285 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -1237,6 +1237,14 @@ class StockMergeSerializer(serializers.Serializer): ) +def stock_item_adjust_status_options(): + """Return a custom set of options for the StockItem status adjustment field. + + In particular, include a Null option for the status field. + """ + return [(None, _('No Change'))] + InvenTree.status_codes.StockStatus.items() + + class StockAdjustmentItemSerializer(serializers.Serializer): """Serializer for a single StockItem within a stock adjument request. @@ -1284,8 +1292,8 @@ class StockAdjustmentItemSerializer(serializers.Serializer): ) status = serializers.ChoiceField( - choices=InvenTree.status_codes.StockStatus.items(), - default=InvenTree.status_codes.StockStatus.OK.value, + choices=stock_item_adjust_status_options(), + default=None, label=_('Status'), help_text=_('Stock item status code'), required=False, allow_blank=True, @@ -1443,8 +1451,8 @@ class StockTransferSerializer(StockAdjustmentSerializer): kwargs = {} for field_name in StockItem.optional_transfer_fields(): - if field_name in item: - kwargs[field_name] = item[field_name] + if field_value := item.get(field_name, None): + kwargs[field_name] = field_value stock_item.move( location,