from django.contrib import admin from .models import HIDEvent class IsRedFilter(admin.SimpleListFilter): title = "Is Red" parameter_name = "is_red" def lookups(self, request, model_admin): return ( ("1", "Yes"), ("0", "No"), ) def queryset(self, request, queryset): if self.value() is None: return queryset else: return queryset.filter(is_red=(self.value() == "1")) @admin.register(HIDEvent) class HIDEventAdmin(admin.ModelAdmin): search_fields = ["description", "forename", "surname", "cardholder_id"] list_display = ["door_name", "timestamp", "event_type", "description", "is_red"] list_filter = [ "door_name", "event_type", IsRedFilter, ] def get_queryset(self, request): return super().get_queryset(request).with_is_red() @admin.display(boolean=True) def is_red(self, obj): return obj.is_red def has_add_permission(self, request, obj=None): return False def has_change_permission(self, request, obj=None): return False def has_delete_permission(self, request, obj=None): return False