Add follow-up creation and change tracking on ticket hold status

This commit is contained in:
bhargav1002 2025-06-08 17:30:19 +05:30
parent f5f02c28ba
commit d9e6d9515d

View File

@ -71,6 +71,7 @@ from helpdesk.models import (
SavedSearch, SavedSearch,
Ticket, Ticket,
TicketCC, TicketCC,
TicketChange,
TicketCustomFieldValue, TicketCustomFieldValue,
TicketDependency, TicketDependency,
UserSettings, UserSettings,
@ -89,6 +90,7 @@ import re
from rest_framework import status from rest_framework import status
from rest_framework.decorators import api_view from rest_framework.decorators import api_view
import typing import typing
from django.utils.timezone import now
if helpdesk_settings.HELPDESK_KB_ENABLED: if helpdesk_settings.HELPDESK_KB_ENABLED:
@ -1380,21 +1382,28 @@ def hold_ticket(request, ticket_id, unhold=False):
if unhold: if unhold:
ticket.on_hold = False ticket.on_hold = False
title = _("Ticket taken off hold") followup_title = _("Ticket taken off hold")
else: else:
ticket.on_hold = True ticket.on_hold = True
title = _("Ticket placed on hold") followup_title = _("Ticket placed on hold")
f = update_ticket(
user=request.user,
ticket=ticket,
title=title,
public=True,
)
f.save()
ticket.save() ticket.save()
followup = FollowUp.objects.create(
ticket=ticket,
title=followup_title,
date=now(),
public=True,
user=request.user,
)
TicketChange.objects.create(
followup=followup,
field=_("On Hold"),
old_value=str(not ticket.on_hold),
new_value=str(ticket.on_hold),
)
return HttpResponseRedirect(ticket.get_absolute_url()) return HttpResponseRedirect(ticket.get_absolute_url())