Files
crmApi/apps/ticket/models.py
T
2024-01-22 13:01:42 +03:30

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}'