From 4ddd6bc351c65eae66e2c3822a1228357d1ba8c3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 10 Jan 2022 09:16:18 +1100 Subject: [PATCH] Adds more triggered events for stock models --- InvenTree/stock/models.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index c6dc7b899a..b2d09c3de8 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -138,6 +138,18 @@ def before_delete_stock_location(sender, instance, using, **kwargs): trigger_event('location.deleted') +@receiver(post_save, sender=StockLocation, dispatch_uid='stock_location_post_save_log') +def after_save_stock_location(sender, instance: StockLocation, created, **kwargs): + """ + Hook function to be executed after StockLocation object is saved/updated + """ + + if created: + trigger_event('stocklocation.created', location_id=instance.pk) + else: + trigger_event('stocklocation.saved', location_id=instance.pk) + + class StockItemManager(TreeManager): """ Custom database manager for the StockItem class. @@ -722,6 +734,12 @@ class StockItem(MPTTModel): notes=notes, ) + trigger_event( + 'stockitem.assignedtocustomer', + item_id=self.id, + customer_id=customer.id, + ) + # Return the reference to the stock item return item @@ -749,6 +767,11 @@ class StockItem(MPTTModel): self.customer = None self.location = location + trigger_event( + 'stockitem.returnedfromcustomer', + item_id=self.id, + ) + self.save() # If stock item is incoming, an (optional) ETA field @@ -1995,3 +2018,12 @@ class StockItemTestResult(models.Model): auto_now_add=True, editable=False ) + + +@receiver(post_save, sender=StockItemTestResult, dispatch_uid='stock_item_test_result_post_save_log') +def after_save_test_result(sender, instance: StockItemTestResult, created: bool, **kwargs): + + if created: + trigger_event('stockitemtestresult.created', test_id=instance.pk) + else: + trigger_event('stockitemtestresult.saved', test_id=instance.pk)