import calendar import django_tables2 as tables from .models import HIDEvent class UnitTimeTable(tables.Table): members = tables.columns.Column() members_delta = tables.columns.TemplateColumn( "{{ value|floatformat:2}}%", verbose_name="Δ Members" ) access_count = tables.columns.Column() access_count_delta = tables.columns.TemplateColumn( "{{ value|floatformat:2}}%", verbose_name="Δ Access Count" ) class Meta: fields = ("members", "members_delta", "access_count", "access_count_delta") class DeniedAccessTable(tables.Table): name = tables.TemplateColumn( "{{ record.forename|default:'' }} {{ record.surname|default:'' }}" ) class Meta: model = HIDEvent fields = ( "timestamp", "door", "event_type", "name", "raw_card_number", "decoded_card_number", ) class MostActiveMembersTable(tables.Table): name = tables.Column() access_count = tables.Column() class DetailByDayTable(tables.Table): timestamp__date = tables.DateColumn(verbose_name="Date") name = tables.Column() access_count = tables.Column() granted_access_count = tables.Column() class BusiestDayOfWeekTable(tables.Table): timestamp__week_day = tables.Column("Week Day") events = tables.Column() members = tables.Column() def render_timestamp__week_day(self, value): return calendar.day_name[(value - 2) % 7] class BusiestTimeOfDayTable(tables.Table): timestamp__hour = tables.TemplateColumn("{{ value }}:00", verbose_name="Hour") events = tables.Column() members = tables.Column()