2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-22 20:56:30 +00:00

Further fixes for API / serializer classes

- Correctly catch and re-throw errors
- Provide request to serializer context
This commit is contained in:
Oliver
2021-10-05 12:12:37 +11:00
parent 29588ff2c5
commit ddcfc8996c
5 changed files with 30 additions and 21 deletions

@@ -6,7 +6,7 @@ JSON serializers for Build API
from __future__ import unicode_literals
from django.db import transaction
from django.core.exceptions import ValidationError as DjangoValidationError
from django.utils.translation import ugettext_lazy as _
from django.db.models import Case, When, Value
@@ -270,14 +270,18 @@ class BuildAllocationSerializer(serializers.Serializer):
quantity = item['quantity']
output = item.get('output', None)
# Create a new BuildItem to allocate stock
BuildItem.objects.create(
build=build,
bom_item=bom_item,
stock_item=stock_item,
quantity=quantity,
install_into=output
)
try:
# Create a new BuildItem to allocate stock
BuildItem.objects.create(
build=build,
bom_item=bom_item,
stock_item=stock_item,
quantity=quantity,
install_into=output
)
except (ValidationError, DjangoValidationError) as exc:
# Catch model errors and re-throw as DRF errors
raise ValidationError(detail=serializers.as_serializer_error(exc))
class BuildItemSerializer(InvenTreeModelSerializer):