ticket model verbose name and admin pannel display list

This commit is contained in:
Parsa Nazer
2025-02-04 20:59:08 +03:30
parent 1175c4d642
commit 993e1e079b
2 changed files with 17 additions and 13 deletions
+6 -2
View File
@@ -25,6 +25,7 @@ class TicketAdmin(ModelAdmin, ImportExportModelAdmin):
"widget": ArrayWidget,
}
}
list_display = ['subject', 'customer', 'admin', 'status', 'admin', 'status', 'created_at']
inlines = [MessageInline]
radio_fields = {'status': admin.VERTICAL}
@@ -32,7 +33,7 @@ class TicketAdmin(ModelAdmin, ImportExportModelAdmin):
class MessageAdmin(ModelAdmin, ImportExportModelAdmin):
import_form_class = ImportForm
export_form_class = ExportForm
list_display = ['ticket', 'sender', 'content_display','created_at']
compressed_fields = True
warn_unsaved_form = True
@@ -44,4 +45,7 @@ class MessageAdmin(ModelAdmin, ImportExportModelAdmin):
ArrayField: {
"widget": ArrayWidget,
}
}
}
def content_display(self, obj):
return obj.content[0:20] + '...'
content_display.short_description = 'محتوای پیام'
+11 -11
View File
@@ -9,12 +9,12 @@ class Ticket(models.Model):
('closed', 'بسته'),
]
subject = models.CharField(max_length=255)
customer = models.ForeignKey(User, on_delete=models.CASCADE, related_name="tickets")
admin = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name="assigned_tickets")
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='open')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
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
@@ -26,13 +26,13 @@ class Ticket(models.Model):
class Message(models.Model):
ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE, related_name="messages")
sender = models.ForeignKey(User, on_delete=models.CASCADE)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
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.username} on {self.ticket.subject}"
return f"Message by {self.sender.full_name} on {self.ticket.subject}"
class Meta:
verbose_name = 'پیام تیکت'