""" اعلانِ «پاسخِ تازه برای تیکتت» با هر پیامِ پشتیبانی، از هر مسیری که ذخیره شود. تا ۲۰۲۶-۱۰-۰۳ اعلان فقط در `TicketMessageAdmin.save_model` ساخته می‌شد. پشتیبان معمولاً از صفحه‌ی خودِ تیکت (inline) جواب می‌دهد و آن مسیر از `TicketAdmin` رد می‌شود؛ پیام ثبت می‌شد و کاربر هیچ اعلانی نمی‌گرفت (بازتولید شد). سیگنال روی خودِ مدل هر دو مسیر را می‌گیرد. اعلان داخلِ همان تراکنشِ ذخیره‌ی پیام نوشته می‌شود؛ شکستش ذخیره‌ی پیام را هم برمی‌گرداند. """ from django.db.models.signals import post_save from django.dispatch import receiver from .models import TicketMessage @receiver(post_save, sender=TicketMessage, dispatch_uid='support_notify_ticket_reply') def _notify_ticket_reply(sender, instance, created, **kwargs): if not created or instance.sender != 'support': return from notifications.services import notify notify( user_id=instance.ticket.user_id, type='ticket_replied', title='پاسخ جدید برای تیکت شما', body=instance.text[:200], related_id=instance.ticket_id, )