file attechment for ticket
This commit is contained in:
@@ -3,6 +3,22 @@ from account.models import User
|
||||
from order.models import OrderModel
|
||||
from django_jalali.db import models as jmodels
|
||||
|
||||
|
||||
|
||||
class Attachment(models.Model):
|
||||
file = models.FileField(upload_to='attachments')
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
size = models.PositiveIntegerField(null=True, blank=True)
|
||||
name = models.CharField(max_length=400, null=True, blank=True)
|
||||
def __str__(self):
|
||||
return self.file.name
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if self.file:
|
||||
self.size = self.file.size
|
||||
self.name = self.file.name
|
||||
super(Attachment, self).save(*args, **kwargs)
|
||||
|
||||
class Ticket(models.Model):
|
||||
objects = jmodels.jManager()
|
||||
STATUS_CHOICES = [
|
||||
@@ -28,6 +44,7 @@ class Ticket(models.Model):
|
||||
created_at = jmodels.jDateTimeField(auto_now_add=True, verbose_name='ساخته شده در')
|
||||
updated_at = jmodels.jDateTimeField(auto_now=True, verbose_name='اپدیت شده در')
|
||||
order = models.ForeignKey(OrderModel ,blank=True, null=True, on_delete=models.SET_NULL)
|
||||
attachments = models.ManyToManyField(Attachment, related_name='tickets', blank=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.subject
|
||||
@@ -44,6 +61,7 @@ class Message(models.Model):
|
||||
sender = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='ارسال کننده')
|
||||
content = models.TextField(verbose_name='محتوای پیام')
|
||||
created_at = jmodels.jDateTimeField(auto_now_add=True, verbose_name='ساخته شده در')
|
||||
attachments = models.ManyToManyField(Attachment, related_name='messages', blank=True)
|
||||
|
||||
def __str__(self):
|
||||
return f"Message by {self.sender.full_name} on {self.ticket.subject}"
|
||||
|
||||
Reference in New Issue
Block a user