From 993e1e079b0b4ea7c1fcd4a87c8031e8a6b0dbca Mon Sep 17 00:00:00 2001 From: Parsa Nazer Date: Tue, 4 Feb 2025 20:59:08 +0330 Subject: [PATCH] ticket model verbose name and admin pannel display list --- backend/ticket/admin.py | 8 ++++++-- backend/ticket/models.py | 22 +++++++++++----------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/backend/ticket/admin.py b/backend/ticket/admin.py index e1bcea0..3673dd5 100644 --- a/backend/ticket/admin.py +++ b/backend/ticket/admin.py @@ -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, } - } \ No newline at end of file + } + def content_display(self, obj): + return obj.content[0:20] + '...' + content_display.short_description = 'محتوای پیام' \ No newline at end of file diff --git a/backend/ticket/models.py b/backend/ticket/models.py index fd63dc0..75600c4 100644 --- a/backend/ticket/models.py +++ b/backend/ticket/models.py @@ -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 = 'پیام تیکت'