mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Extract serial numbers from submitted form data
This commit is contained in:
parent
037232c177
commit
24c13b04b6
@ -245,9 +245,10 @@ class BuildOutputCreateSerializer(serializers.Serializer):
|
||||
Perform form validation
|
||||
"""
|
||||
|
||||
build = self.get_build()
|
||||
part = self.get_part()
|
||||
serials = None
|
||||
|
||||
# Cache a list of serial numbers (to be used in the "save" method)
|
||||
self.serials = None
|
||||
|
||||
quantity = data['quantity']
|
||||
serial_numbers = data.get('serial_numbers', '')
|
||||
@ -255,7 +256,7 @@ class BuildOutputCreateSerializer(serializers.Serializer):
|
||||
if serial_numbers:
|
||||
|
||||
try:
|
||||
serials = extract_serial_numbers(serial_numbers, quantity, part.getLatestSerialNumberInt())
|
||||
self.serials = extract_serial_numbers(serial_numbers, quantity, part.getLatestSerialNumberInt())
|
||||
except DjangoValidationError as e:
|
||||
raise ValidationError({
|
||||
'serial_numbers': e.messages,
|
||||
@ -264,7 +265,7 @@ class BuildOutputCreateSerializer(serializers.Serializer):
|
||||
# Check for conflicting serial numbesr
|
||||
existing = []
|
||||
|
||||
for serial in serials:
|
||||
for serial in self.serials:
|
||||
if part.checkIfSerialNumberExists(serial):
|
||||
existing.append(serial)
|
||||
|
||||
|
@ -205,6 +205,18 @@ function createBuildOutput(build_id, options) {
|
||||
auto_allocate: {},
|
||||
};
|
||||
|
||||
// Work out the next available serial numbers
|
||||
inventreeGet(`/api/part/${build.part}/serial-numbers/`, {}, {
|
||||
success: function(data) {
|
||||
if (data.next) {
|
||||
fields.serial_numbers.placeholder = `{% trans "Next available serial number" %}: ${data.next}`;
|
||||
} else {
|
||||
fields.serial_numbers.placeholder = `{% trans "Latest serial number" %}: ${data.latest}`;
|
||||
}
|
||||
},
|
||||
async: false,
|
||||
});
|
||||
|
||||
if (options.trackable_parts) {
|
||||
html += `
|
||||
<div class='alert alert-block alert-info'>
|
||||
@ -229,6 +241,9 @@ function createBuildOutput(build_id, options) {
|
||||
confirm: true,
|
||||
fields: fields,
|
||||
preFormContent: html,
|
||||
onSuccess: function(response) {
|
||||
location.reload();
|
||||
},
|
||||
});
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user