51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
from django.contrib import admin
|
|
from .models import *
|
|
from unfold.admin import ModelAdmin, TabularInline
|
|
|
|
from import_export.admin import ImportExportModelAdmin
|
|
from unfold.contrib.import_export.forms import ExportForm, ImportForm, SelectableFieldsExportForm
|
|
from unfold.contrib.forms.widgets import ArrayWidget, WysiwygWidget
|
|
from django.contrib.postgres.fields import ArrayField
|
|
|
|
class MessageInline(TabularInline):
|
|
model = Message
|
|
extra = 1
|
|
|
|
@admin.register(Ticket)
|
|
class TicketAdmin(ModelAdmin, ImportExportModelAdmin):
|
|
import_form_class = ImportForm
|
|
export_form_class = ExportForm
|
|
|
|
|
|
compressed_fields = True
|
|
warn_unsaved_form = True
|
|
|
|
formfield_overrides = {
|
|
ArrayField: {
|
|
"widget": ArrayWidget,
|
|
}
|
|
}
|
|
list_display = ['subject', 'customer', 'admin', 'status', 'admin', 'status', 'created_at']
|
|
inlines = [MessageInline]
|
|
radio_fields = {'status': admin.VERTICAL}
|
|
|
|
@admin.register(Message)
|
|
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
|
|
|
|
formfield_overrides = {
|
|
models.TextField: {
|
|
"widget": WysiwygWidget,
|
|
},
|
|
ArrayField: {
|
|
"widget": ArrayWidget,
|
|
}
|
|
}
|
|
def content_display(self, obj):
|
|
return obj.content[0:20] + '...'
|
|
content_display.short_description = 'محتوای پیام' |