plugin-validation-purchase-orders (#12094)

Co-authored-by: Matthias Mair <code@mjmair.com>
This commit is contained in:
NerosKi 2026-06-08 01:06:24 +02:00 committed by GitHub
parent c2c8e72f37
commit a63ca93c3c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 11 additions and 0 deletions

View File

@ -1191,6 +1191,10 @@ class PurchaseOrder(TotalPriceMixin, Order):
for item in new_items:
item.set_status(status, custom_values=custom_stock_status_values)
# run validation for serialized items plugin.validate_batch_code
item.validate_batch_code()
# run validation for serialized items plugin.validate_model_instance
item.run_plugin_validation()
stock_items.append(item)
else:
@ -1213,6 +1217,13 @@ class PurchaseOrder(TotalPriceMixin, Order):
# Bulk create new stock items
if len(bulk_create_items) > 0:
# bulk_create() bypasses save()/clean() methods, so manual validation is required for each item
for item in bulk_create_items:
# run validation for items plugin.validate_batch_code
item.validate_batch_code()
# run validation for items plugin.validate_model_instance
item.run_plugin_validation()
stock.models.StockItem.objects.bulk_create(
bulk_create_items, batch_size=250
)