2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-04 06:18:48 +00:00

Add ITEM_RECEIVED event (#8651)

* 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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 1 deletions

View File

@ -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."""

View File

@ -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

View File

@ -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())