from django.db import models from account.models import User class Ticket(models.Model): STATUS_CHOICES = [ ('open', 'باز'), ('in_progress', 'در حال پردازش'), ('resolved', 'حل شده'), ('closed', 'بسته'), ] subject = models.CharField(max_length=255, verbose_name='موضوع') customer = models.ForeignKey(User, on_delete=models.CASCADE, related_name="tickets", verbose_name='کاربر') admin = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name="assigned_tickets", verbose_name='ادمین') status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='open', verbose_name='وضعیت تیکت') created_at = models.DateTimeField(auto_now_add=True, verbose_name='ساخته شده در') updated_at = models.DateTimeField(auto_now=True, verbose_name='اپدیت شده در') def __str__(self): return self.subject class Meta: verbose_name = 'تیکت' verbose_name_plural = 'تیکت ها' class Message(models.Model): ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE, related_name="messages", verbose_name='تیکت') sender = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='ارسال کننده') content = models.TextField(verbose_name='محتوای پیام') created_at = models.DateTimeField(auto_now_add=True, verbose_name='ساخته شده در') def __str__(self): return f"Message by {self.sender.full_name} on {self.ticket.subject}" class Meta: verbose_name = 'پیام تیکت' verbose_name_plural = 'پیام های تیکت'