mirror of
https://github.com/inventree/InvenTree.git
synced 2025-08-19 18:05:54 +00:00
Adds "items" list to API endpoint
This commit is contained in:
@@ -674,6 +674,33 @@ class StockAssignmentSerializer(serializers.Serializer):
|
||||
)
|
||||
|
||||
|
||||
class StockMergeItemSerializer(serializers.Serializer):
|
||||
"""
|
||||
Serializer for a single StockItem within the StockMergeSerializer class.
|
||||
|
||||
Here, the individual StockItem is being checked for merge compatibility.
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
fields = [
|
||||
'item',
|
||||
]
|
||||
|
||||
item = serializers.PrimaryKeyRelatedField(
|
||||
queryset=StockItem.objects.all(),
|
||||
many=False,
|
||||
allow_null=False,
|
||||
required=True,
|
||||
label=_('Stock Item'),
|
||||
)
|
||||
|
||||
def validate_item(self, item):
|
||||
|
||||
# Check that the stock item is able to be merged
|
||||
item.can_merge(raise_error=True)
|
||||
|
||||
return item
|
||||
|
||||
class StockMergeSerializer(serializers.Serializer):
|
||||
"""
|
||||
Serializer for merging two (or more) stock items together
|
||||
@@ -681,10 +708,15 @@ class StockMergeSerializer(serializers.Serializer):
|
||||
|
||||
class Meta:
|
||||
fields = [
|
||||
# 'items',
|
||||
'items',
|
||||
'location',
|
||||
]
|
||||
|
||||
items = StockMergeItemSerializer(
|
||||
many=True,
|
||||
required=True,
|
||||
)
|
||||
|
||||
location = serializers.PrimaryKeyRelatedField(
|
||||
queryset=StockLocation.objects.all(),
|
||||
many=False,
|
||||
@@ -698,7 +730,10 @@ class StockMergeSerializer(serializers.Serializer):
|
||||
|
||||
data = super().validate(data)
|
||||
|
||||
# TODO: Custom data validation
|
||||
items = data['items']
|
||||
|
||||
if len(items) < 2:
|
||||
raise ValidationError(_('At least two stock items must be provided'))
|
||||
|
||||
return data
|
||||
|
||||
|
Reference in New Issue
Block a user