Add validation check to "Convert to Variant" form (#5583)

* Add validation check to "Convert to Variant" form

- If a supplierpart is assigned, cannot convert stock item

* Fix failing unit test
This commit is contained in:
Oliver 2023-09-21 13:22:20 +10:00 committed by GitHub
parent 202dd6b4a1
commit 0f8cddd23d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 1 deletions

View File

@ -154,7 +154,7 @@ class LabelTest(InvenTreeAPITestCase):
# Test that each element has been rendered correctly
self.assertIn(f"part: {part_pk} - {part_name}", content)
self.assertIn(f'data: {{"part": {part_pk}}}', content)
self.assertIn("http://testserver/part/1/", content)
self.assertIn(f'http://testserver/part/{part_pk}/', content)
self.assertIn("img/blank_image.png", content)
self.assertIn("img/inventree.png", content)

View File

@ -600,6 +600,21 @@ class ConvertStockItemSerializer(serializers.Serializer):
return part
def validate(self, data):
"""Ensure that the stock item is valid for conversion:
- If a SupplierPart is assigned, we cannot convert!
"""
data = super().validate(data)
stock_item = self.context['item']
if stock_item.supplier_part is not None:
raise ValidationError(_("Cannot convert stock item with assigned SupplierPart"))
return data
def save(self):
"""Save the serializer to convert the StockItem to the selected Part"""
data = self.validated_data