diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 99d7cd02f5..76aa160804 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -280,6 +280,8 @@ def before_delete_part_category(sender, instance, using, **kwargs): child.parent = instance.parent child.save() + trigger_event('category.deleted') + def rename_part_image(instance, filename): """ Function for renaming a part image file @@ -2183,11 +2185,11 @@ def after_save_part(sender, instance: Part, created, **kwargs): Function to be executed after a Part is saved """ - trigger_event('part.saved', part_id=instance.pk) - if created: trigger_event('part.created', part_id=instance.pk) else: + trigger_event('part.saved', part_id=instance.pk) + # Check part stock only if we are *updating* the part (not creating it) # Run this check in the background diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index d302b1676c..c6dc7b899a 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -35,6 +35,8 @@ import common.models import report.models import label.models +from plugin.events import trigger_event + from InvenTree.status_codes import StockStatus, StockHistoryCode from InvenTree.models import InvenTreeTree, InvenTreeAttachment from InvenTree.fields import InvenTreeModelMoneyField, InvenTreeURLField @@ -133,6 +135,8 @@ def before_delete_stock_location(sender, instance, using, **kwargs): child.parent = instance.parent child.save() + trigger_event('location.deleted') + class StockItemManager(TreeManager): """ @@ -1774,6 +1778,8 @@ def before_delete_stock_item(sender, instance, using, **kwargs): child.parent = instance.parent child.save() + trigger_event('stockitem.deleted') + @receiver(post_delete, sender=StockItem, dispatch_uid='stock_item_post_delete_log') def after_delete_stock_item(sender, instance: StockItem, **kwargs): @@ -1786,11 +1792,16 @@ def after_delete_stock_item(sender, instance: StockItem, **kwargs): @receiver(post_save, sender=StockItem, dispatch_uid='stock_item_post_save_log') -def after_save_stock_item(sender, instance: StockItem, **kwargs): +def after_save_stock_item(sender, instance: StockItem, created, **kwargs): """ Hook function to be executed after StockItem object is saved/updated """ + if created: + trigger_event('stockitem.created', item_id=instance.pk) + else: + trigger_event('stockitem.saved', item_id=instance.pk) + # Run this check in the background InvenTree.tasks.offload_task('part.tasks.notify_low_stock_if_required', instance.part)