diff --git a/models.py b/models.py index 3d675d30..21f845ba 100644 --- a/models.py +++ b/models.py @@ -125,6 +125,8 @@ class Ticket(models.Model): assigned_to = models.ForeignKey(User, related_name='assigned_to', blank=True, null=True) status = models.IntegerField(choices=STATUS_CHOICES, default=OPEN_STATUS) + on_hold = models.BooleanField(blank=True, null=True) + description = models.TextField(blank=True, null=True) resolution = models.TextField(blank=True, null=True) @@ -159,6 +161,12 @@ class Ticket(models.Model): return "%s/helpdesk/priorities/priority%s.png" % (settings.MEDIA_URL, self.priority) get_priority_img = property(_get_priority_img) + def _get_status(self): + held_msg = '' + if self.on_hold: held_msg = ' (Held)' + return '%s%s' % (self.get_status_display, held_msg) + get_status = property(_get_status) + def _get_ticket_url(self): from django.contrib.sites.models import Site from django.core.urlresolvers import reverse diff --git a/scripts/escalate_tickets.py b/scripts/escalate_tickets.py index 899bd105..3997c474 100644 --- a/scripts/escalate_tickets.py +++ b/scripts/escalate_tickets.py @@ -44,7 +44,7 @@ def escalate_tickets(): q.last_escalation = datetime.now() q.save() - for t in q.ticket_set.filter(Q(status=Ticket.OPEN_STATUS) | Q(status=Ticket.REOPENED_STATUS)).exclude(priority=1): + for t in q.ticket_set.filter(Q(status=Ticket.OPEN_STATUS) | Q(status=Ticket.REOPENED_STATUS)).exclude(priority=1).exclude(on_hold=True): t.priority -= 1 t.save() diff --git a/templates/helpdesk/ticket.html b/templates/helpdesk/ticket.html index 2fceefaa..c3c6e5c4 100644 --- a/templates/helpdesk/ticket.html +++ b/templates/helpdesk/ticket.html @@ -25,7 +25,7 @@ {% block helpdesk_body %}
{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status_display }}] | ![]() ![]() |
{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status }}] | ![]() ![]() |
Queue: {{ ticket.queue }} | |
---|---|