fix - split signals warehouse / add quota stat on transaction item / add distribuitions in quota stat serializer

This commit is contained in:
2025-11-26 12:27:29 +03:30
parent eeea3b55cf
commit f79c25485b
8 changed files with 113 additions and 26 deletions

View File

@@ -3,32 +3,31 @@ from django.db.models.signals import post_save
from django.dispatch import receiver
from apps.pos_device.models import Device
from apps.warehouse.models import InventoryEntry
from apps.warehouse.models import product_models
from .models import Notification
@receiver(post_save, sender=InventoryEntry)
def create_inventory_entry_notification(sender, instance, created, **kwargs):
""" Create notification for organization after inventory entry creation """
if not created:
return
def _create_notification():
# create notification for organization on pos device
devices = Device.objects.filter(assignment__client__organization=instance.organization)
for device in devices:
Notification.objects.create(
device=device,
organization=instance.organization,
title=f" {instance.distribution.distribution_id} ورودی جدید به انبار از توزیع با کد ", # noqa
message=f' مقدار {instance.distribution.weight} کیلوگرم' # noqa
f' از توزیع با کد {instance.distribution.distribution_id} به انبار ورود خورده است ', # noqa
type='inventory',
)
transaction.on_commit(_create_notification)
# @receiver(post_save, sender=InventoryEntry)
# def create_inventory_entry_notification(sender, instance, created, **kwargs):
# """ Create notification for organization after inventory entry creation """
#
# if not created:
# return
#
# def _create_notification():
# # create notification for organization on pos device
# devices = Device.objects.filter(assignment__client__organization=instance.organization)
# for device in devices:
# Notification.objects.create(
# device=device,
# organization=instance.organization,
# title=f" {instance.distribution.distribution_id} ورودی جدید به انبار از توزیع با کد ", # noqa
# message=f' مقدار {instance.distribution.weight} کیلوگرم' # noqa
# f' از توزیع با کد {instance.distribution.distribution_id} به انبار ورود خورده است ', # noqa
# type='inventory',
# )
#
# transaction.on_commit(_create_notification)
@receiver(post_save, sender=product_models.QuotaDistribution) # noqa