Admin Models

This commit is contained in:
Corban-Lee Jones 2024-01-14 01:51:00 +00:00
parent a708a8b151
commit 0670382172

View File

@ -1,9 +1,47 @@
# -*- encoding: utf-8 -*-
from collections.abc import Callable
from typing import Any
from django.contrib import admin
from .models import Ticket, TicketPriority, TicketTag
admin.site.register(Ticket)
admin.site.register(TicketPriority)
admin.site.register(TicketTag)
class TicketAdmin(admin.ModelAdmin):
list_display = ["uuid", "title", "get_author_name", "get_priority_title", "get_tags_count"]
@admin.display(description="Author", ordering="author__name")
def get_author_name(self, obj):
return obj.author.fullname if obj.author else None
@admin.display(description="Priority", ordering="priority__title")
def get_priority_title(self, obj):
return obj.priority.title if obj.priority else None
@admin.display(description="Tags")
def get_tags_count(self, obj):
return obj.tags.count()
class TicketPriorityAdmin(admin.ModelAdmin):
list_display = ["uuid", "title", "colour", "backgroundcolour", "get_used_count"]
@admin.display(description="Used by")
def get_used_count(self, obj):
return Ticket.objects.filter(priority=obj).count()
class TicketTagAdmin(admin.ModelAdmin):
list_display = ["uuid", "title", "colour", "backgroundcolour", "get_used_count"]
@admin.display(description="Used by")
def get_used_count(self, obj):
return Ticket.objects.filter(tags__in=[obj]).count()
admin.site.register(Ticket, TicketAdmin)
admin.site.register(TicketPriority, TicketPriorityAdmin)
admin.site.register(TicketTag, TicketTagAdmin)