Skip to content

Commit

Permalink
Barcode validation fix (#9127)
Browse files Browse the repository at this point in the history
* Fix logic for adding items to SalesOrder

* Same thing for purchase orders

* Update serializers.py

Revert typo fix

- Otherwise, we need to do an API bump and the PR can't be back-ported!

(cherry picked from commit bc9dbf7)
  • Loading branch information
SchrodingersGat committed Feb 21, 2025
1 parent ee87cd7 commit de5e9f2
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/backend/InvenTree/plugin/base/barcodes/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@
import plugin.base.barcodes.helper
import stock.models
from InvenTree.serializers import UserSerializer
from order.status_codes import PurchaseOrderStatus, SalesOrderStatus
from order.status_codes import (
PurchaseOrderStatus,
PurchaseOrderStatusGroups,
SalesOrderStatusGroups,
)


class BarcodeScanResultSerializer(serializers.ModelSerializer):
Expand Down Expand Up @@ -135,8 +139,8 @@ class BarcodePOAllocateSerializer(BarcodeSerializer):

def validate_purchase_order(self, order: order.models.PurchaseOrder):
"""Validate the provided order."""
if order.status != PurchaseOrderStatus.PENDING.value:
raise ValidationError(_('Purchase order is not pending'))
if order.status not in PurchaseOrderStatusGroups.OPEN:
raise ValidationError(_('Purchase order is not open'))

return order

Expand Down Expand Up @@ -213,8 +217,8 @@ class BarcodeSOAllocateSerializer(BarcodeSerializer):

def validate_sales_order(self, order: order.models.SalesOrder):
"""Validate the provided order."""
if order and order.status != SalesOrderStatus.PENDING.value:
raise ValidationError(_('Sales order is not pending'))
if order and order.status not in SalesOrderStatusGroups.OPEN:
raise ValidationError(_('Sales order is not open'))

return order

Expand Down

0 comments on commit de5e9f2

Please sign in to comment.