2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-11 17:45:39 +00:00

Add ITEM_RECEIVED event ()

* Add ITEM_RECEIVED event

- Triggered when an item is recevied against a purchase order

* Adjust unit test
This commit is contained in:
Oliver
2024-12-11 07:21:35 +11:00
committed by GitHub
parent 4a8cb6f7f3
commit 64dc5659bc
3 changed files with 8 additions and 1 deletions
src/backend/InvenTree/order

@ -13,6 +13,8 @@ class PurchaseOrderEvents(BaseEventEnum):
OVERDUE = 'order.overdue_purchase_order'
ITEM_RECEIVED = 'purchaseorderitem.received'
class SalesOrderEvents(BaseEventEnum):
"""Event enumeration for the SalesOrder models."""

@ -883,6 +883,10 @@ class PurchaseOrder(TotalPriceMixin, Order):
quantity=float(quantity),
)
trigger_event(
PurchaseOrderEvents.ITEM_RECEIVED, order_id=self.pk, item_id=self.pk
)
# Update the number of parts received against the particular line item
# Note that this quantity does *not* take the pack_quantity into account, it is "number of packs"
line.received += quantity

@ -1168,7 +1168,8 @@ class PurchaseOrderReceiveTest(OrderTest):
n = StockItem.objects.count()
self.post(self.url, data, expected_code=201, max_query_count=400)
# TODO: 2024-12-10 - This API query needs to be refactored!
self.post(self.url, data, expected_code=201, max_query_count=500)
# Check that the expected number of stock items has been created
self.assertEqual(n + 11, StockItem.objects.count())