44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
from django.db import models
|
|
from utils.base_model import BaseModel
|
|
from apps.workspace.models import Workspace
|
|
from apps.cuser.models import CuserRole
|
|
# Create your models here.
|
|
|
|
|
|
class Ticket(BaseModel):
|
|
|
|
STATUS_CHOICES = [
|
|
(0, "wait"),
|
|
(1, "customer"),
|
|
(2, "operator"),
|
|
]
|
|
|
|
title = models.CharField(max_length=100)
|
|
status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, default=0)
|
|
cuser_role = models.ForeignKey(CuserRole, on_delete=models.CASCADE, null=False, blank=False)
|
|
sys_ws = models.ForeignKey(Workspace, on_delete=models.CASCADE, null=False, blank=False)
|
|
|
|
def __str__(self):
|
|
return f'{self.title}'
|
|
|
|
|
|
class TicketComment(BaseModel):
|
|
|
|
ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE, null=False, blank=False)
|
|
desc = models.CharField(max_length=500)
|
|
cuser_role = models.ForeignKey(CuserRole, on_delete=models.CASCADE, null=False, blank=False)
|
|
sys_ws = models.ForeignKey(Workspace, on_delete=models.CASCADE, null=False, blank=False)
|
|
|
|
def __str__(self):
|
|
return f'{self.ticket.title}'
|
|
|
|
|
|
class TicketCommentFile(BaseModel):
|
|
|
|
ticket_comment = models.ForeignKey(TicketComment, on_delete=models.CASCADE, null=False, blank=False, related_name='ticketcommentfile_set')
|
|
file = models.FileField(null=True, blank=True, upload_to='ticketFiles/')
|
|
|
|
def __str__(self):
|
|
return f'{self.ticket_comment.ticket.title}'
|
|
|