mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-24 07:40:54 +00:00
PO receive fix (#8423)
* 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:
src
backend
InvenTree
frontend
src
@ -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,
|
||||
|
Reference in New Issue
Block a user