2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-24 07:40:54 +00:00

PO receive fix ()

* Add "active" filter to PurchaseOrderLineItem.part field

* Fix for allocation serial numbers to incoming items

* Validate serial numbers per line item
This commit is contained in:
Oliver
2024-11-04 14:10:17 +11:00
committed by GitHub
parent c9079d9a0e
commit 4df42cd776
4 changed files with 40 additions and 7 deletions
src
backend
InvenTree
order
templates
js
frontend

@ -845,6 +845,20 @@ class PurchaseOrderLineItemReceiveSerializer(serializers.Serializer):
except DjangoValidationError as e:
raise ValidationError({'serial_numbers': e.messages})
invalid_serials = []
# Check the serial numbers are valid
for serial in data['serials']:
try:
base_part.validate_serial_number(serial, raise_error=True)
except (ValidationError, DjangoValidationError):
invalid_serials.append(serial)
if len(invalid_serials) > 0:
msg = _('The following serial numbers already exist or are invalid')
msg += ': ' + ', '.join(invalid_serials)
raise ValidationError({'serial_numbers': msg})
return data

@ -259,6 +259,7 @@ function poLineItemFields(options={}) {
part: {
icon: 'fa-shapes',
filters: {
active: true,
part_detail: true,
supplier_detail: true,
supplier: options.supplier,