mirror of
https://gitea.mueller.network/extern/django-helpdesk.git
synced 2024-11-22 07:53:19 +01:00
notify_followup_webhooks used in email, so moving signal triggering code
This commit is contained in:
parent
0e96909f43
commit
79b7ce9650
@ -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):
|
||||||
|
Loading…
Reference in New Issue
Block a user