Files
centurion_erp/app/itim/models/slm_ticket_base.py

76 lines
1.8 KiB
Python

from django.db import models
from core.models.ticket_base import TicketBase
class SLMTicket(
TicketBase
):
"""Ticket Type
Base Ticket Type for tickets that require Servie Level Management.
"""
class Meta:
ordering = [
'id',
]
sub_model_type = 'slm'
verbose_name = 'SLM Ticket Base'
verbose_name_plural = 'SLM Tickets'
@property
def get_ticket_type(self):
"""Fetch the Ticket Type
Returns:
str: The models `Meta.verbose_name` in lowercase and without spaces
None: The ticket is for the Base class (TicketBase). Used to prevent creating a base ticket.
None: The ticket is for the Base class (SLMTicket). Used to prevent creating a base ticket.
"""
ticket_type = super().get_ticket_type
if(
ticket_type is None
or ticket_type == 'slmticket'
):
return None
return ticket_type
# SLA = models.ForeignKey(
# ServiceLevelAgreement,
# blank = True,
# help_text = 'Service Level Agreement this ticket is covered under',
# null = True,
# on_delete = models.PROTECT,
# verbose_name = 'SLA',
# )
ttr = models.IntegerField(
blank = True,
default = 0,
help_text = 'Time taken to resolve the ticket / Time to Resolution (TTR)',
null = False,
verbose_name = 'TTR',
) # Set when ticket is closed and always update to the latest close date
tto = models.IntegerField(
blank = True,
default = 0,
help_text = 'Time taken to Acknowledge ticket / Time to Ownership (TTO)',
null = False,
verbose_name = 'TTO',
) # set to the time when the ticket is first assigned. DONT update ever.