notify_followup_webhooks used in email, so moving signal triggering code

This commit is contained in:
Sam Splunks 2024-04-16 08:42:03 +00:00
parent 0e96909f43
commit 79b7ce9650

View File

@ -8,32 +8,36 @@ from .signals import update_ticket_done
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# listener is loaded via app.py HelpdeskConfig.ready() def notify_followup_webhooks(followup):
@receiver(update_ticket_done)
def notify_followup_webhooks(sender, followup, **kwargs):
urls = settings.HELPDESK_GET_FOLLOWUP_WEBHOOK_URLS() urls = settings.HELPDESK_GET_FOLLOWUP_WEBHOOK_URLS()
if not urls: if not urls:
return return
# Serialize the ticket associated with the followup
from .serializers import TicketSerializer
ticket = followup.ticket
ticket.set_custom_field_values()
serialized_ticket = TicketSerializer(ticket).data
# Prepare the data to send
data = {
'ticket': serialized_ticket,
'queue_slug': ticket.queue.slug,
'followup_id': followup.id
}
for url in urls:
try:
requests.post(url, json=data, timeout=settings.HELPDESK_WEBHOOK_TIMEOUT)
except requests.exceptions.Timeout:
logger.error('Timeout while sending followup webhook to %s', url)
# listener is loaded via app.py HelpdeskConfig.ready()
@receiver(update_ticket_done)
def notify_followup_webhooks_receiver(sender, followup, **kwargs):
if sender == "update_ticket": if sender == "update_ticket":
# Serialize the ticket associated with the followup notify_followup_webhooks(followup)
from .serializers import TicketSerializer
ticket = followup.ticket
ticket.set_custom_field_values()
serialized_ticket = TicketSerializer(ticket).data
# Prepare the data to send
data = {
'ticket': serialized_ticket,
'queue_slug': ticket.queue.slug,
'followup_id': followup.id
}
for url in urls:
try:
requests.post(url, json=data, timeout=settings.HELPDESK_WEBHOOK_TIMEOUT)
except requests.exceptions.Timeout:
logger.error('Timeout while sending followup webhook to %s', url)
def send_new_ticket_webhook(ticket): def send_new_ticket_webhook(ticket):