ticket model verbose name and admin pannel display list
This commit is contained in:
@@ -25,6 +25,7 @@ class TicketAdmin(ModelAdmin, ImportExportModelAdmin):
|
|||||||
"widget": ArrayWidget,
|
"widget": ArrayWidget,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
list_display = ['subject', 'customer', 'admin', 'status', 'admin', 'status', 'created_at']
|
||||||
inlines = [MessageInline]
|
inlines = [MessageInline]
|
||||||
radio_fields = {'status': admin.VERTICAL}
|
radio_fields = {'status': admin.VERTICAL}
|
||||||
|
|
||||||
@@ -32,7 +33,7 @@ class TicketAdmin(ModelAdmin, ImportExportModelAdmin):
|
|||||||
class MessageAdmin(ModelAdmin, ImportExportModelAdmin):
|
class MessageAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||||
import_form_class = ImportForm
|
import_form_class = ImportForm
|
||||||
export_form_class = ExportForm
|
export_form_class = ExportForm
|
||||||
|
list_display = ['ticket', 'sender', 'content_display','created_at']
|
||||||
|
|
||||||
compressed_fields = True
|
compressed_fields = True
|
||||||
warn_unsaved_form = True
|
warn_unsaved_form = True
|
||||||
@@ -44,4 +45,7 @@ class MessageAdmin(ModelAdmin, ImportExportModelAdmin):
|
|||||||
ArrayField: {
|
ArrayField: {
|
||||||
"widget": ArrayWidget,
|
"widget": ArrayWidget,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
def content_display(self, obj):
|
||||||
|
return obj.content[0:20] + '...'
|
||||||
|
content_display.short_description = 'محتوای پیام'
|
||||||
+11
-11
@@ -9,12 +9,12 @@ class Ticket(models.Model):
|
|||||||
('closed', 'بسته'),
|
('closed', 'بسته'),
|
||||||
]
|
]
|
||||||
|
|
||||||
subject = models.CharField(max_length=255)
|
subject = models.CharField(max_length=255, verbose_name='موضوع')
|
||||||
customer = models.ForeignKey(User, on_delete=models.CASCADE, related_name="tickets")
|
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")
|
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')
|
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='open', verbose_name='وضعیت تیکت')
|
||||||
created_at = models.DateTimeField(auto_now_add=True)
|
created_at = models.DateTimeField(auto_now_add=True, verbose_name='ساخته شده در')
|
||||||
updated_at = models.DateTimeField(auto_now=True)
|
updated_at = models.DateTimeField(auto_now=True, verbose_name='اپدیت شده در')
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.subject
|
return self.subject
|
||||||
@@ -26,13 +26,13 @@ class Ticket(models.Model):
|
|||||||
|
|
||||||
|
|
||||||
class Message(models.Model):
|
class Message(models.Model):
|
||||||
ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE, related_name="messages")
|
ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE, related_name="messages", verbose_name='تیکت')
|
||||||
sender = models.ForeignKey(User, on_delete=models.CASCADE)
|
sender = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='ارسال کننده')
|
||||||
content = models.TextField()
|
content = models.TextField(verbose_name='محتوای پیام')
|
||||||
created_at = models.DateTimeField(auto_now_add=True)
|
created_at = models.DateTimeField(auto_now_add=True, verbose_name='ساخته شده در')
|
||||||
|
|
||||||
def __str__(self):
|
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:
|
class Meta:
|
||||||
verbose_name = 'پیام تیکت'
|
verbose_name = 'پیام تیکت'
|
||||||
|
|||||||
Reference in New Issue
Block a user