40 lines
1.7 KiB
Python
40 lines
1.7 KiB
Python
from django.contrib import admin
|
|
from .models import GroupDispatch,SLAConfig,Ticket,TicketAccessGrant,TicketCategory,TicketEvent,TicketReadState,TicketTag
|
|
@admin.register(Ticket)
|
|
class TicketAdmin(admin.ModelAdmin):
|
|
list_display=("ticket_number","subject","owning_unit","delivery_type","status","priority","owner","last_activity_at")
|
|
list_filter=("owning_unit","assigned_unit","delivery_type","status","priority","category","tags")
|
|
search_fields=("ticket_number","subject","customer__mobile","customer__customer_profile__organization_name")
|
|
filter_horizontal=("tags",)
|
|
|
|
|
|
class DispatchTicketInline(admin.TabularInline):
|
|
model = Ticket
|
|
extra = 0
|
|
fields = ("ticket_number", "customer", "status", "last_activity_at")
|
|
readonly_fields = fields
|
|
can_delete = False
|
|
|
|
def has_add_permission(self, request, obj=None):
|
|
return False
|
|
|
|
|
|
@admin.register(GroupDispatch)
|
|
class GroupDispatchAdmin(admin.ModelAdmin):
|
|
list_display = ("subject", "unit", "contact_group", "status", "recipient_count", "dispatched_at")
|
|
list_filter = ("unit", "status", "contact_group")
|
|
search_fields = ("subject", "created_by__username")
|
|
readonly_fields = ("recipient_count", "dispatched_at")
|
|
inlines = (DispatchTicketInline,)
|
|
|
|
|
|
@admin.register(TicketCategory)
|
|
class TicketCategoryAdmin(admin.ModelAdmin):
|
|
list_display=("title","unit","sort_order","show_in_customer_form","is_active")
|
|
list_filter=("unit","show_in_customer_form","is_active")
|
|
search_fields=("title","description","search_keywords","unit__name","unit__search_keywords")
|
|
list_editable=("is_active","show_in_customer_form","sort_order")
|
|
|
|
|
|
admin.site.register([SLAConfig,TicketAccessGrant,TicketEvent,TicketReadState,TicketTag])
|