mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 20:16:44 +00:00
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:
parent
202dd6b4a1
commit
0f8cddd23d
@ -154,7 +154,7 @@ class LabelTest(InvenTreeAPITestCase):
|
|||||||
# Test that each element has been rendered correctly
|
# Test that each element has been rendered correctly
|
||||||
self.assertIn(f"part: {part_pk} - {part_name}", content)
|
self.assertIn(f"part: {part_pk} - {part_name}", content)
|
||||||
self.assertIn(f'data: {{"part": {part_pk}}}', 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/blank_image.png", content)
|
||||||
self.assertIn("img/inventree.png", content)
|
self.assertIn("img/inventree.png", content)
|
||||||
|
|
||||||
|
@ -600,6 +600,21 @@ class ConvertStockItemSerializer(serializers.Serializer):
|
|||||||
|
|
||||||
return part
|
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):
|
def save(self):
|
||||||
"""Save the serializer to convert the StockItem to the selected Part"""
|
"""Save the serializer to convert the StockItem to the selected Part"""
|
||||||
data = self.validated_data
|
data = self.validated_data
|
||||||
|
Loading…
x
Reference in New Issue
Block a user