Changeset 358b26f for asadb


Ignore:
Timestamp:
Feb 11, 2013, 3:33:07 AM (13 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, space-access, stable, stage
Children:
83d82e7
Parents:
ea8e8b6
git-author:
Alex Dehnert <adehnert@…> (02/11/13 03:33:07)
git-committer:
Alex Dehnert <adehnert@…> (02/11/13 03:33:07)
Message:

Filter by whether an item is current (ASA-#99)

OfficeHolder?, SpaceAccessListEntry?, and SpaceAssignment? all track a start and
end time for each of their records. This allows filtering in the admin by
whether a record was previously valid, is currently valid, or will be valid in
the future.

Location:
asadb
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • asadb/groups/admin.py

    rcbffe98 r358b26f  
     1from django.contrib import admin
     2
     3from reversion.admin import VersionAdmin
     4
    15import groups.models
    2 from django.contrib import admin
    3 from reversion.admin import VersionAdmin
     6import util.admin
    47
    58class GroupAdmin(VersionAdmin):
     
    98101
    99102class OfficeHolderAdmin(VersionAdmin):
     103    class OfficeHolderPeriodFilter(util.admin.TimePeriodFilter):
     104        start_field = 'start_time'
     105        end_field = 'end_time'
     106
    100107    list_display = (
    101108        'id',
     
    121128    list_filter = [
    122129        'role',
     130        OfficeHolderPeriodFilter,
    123131    ]
    124132admin.site.register(groups.models.OfficeHolder, OfficeHolderAdmin)
  • asadb/space/admin.py

    r465eb7a r358b26f  
     1from django.contrib import admin
     2
     3from reversion.admin import VersionAdmin
     4
    15import space.models
    2 from django.contrib import admin
    3 from reversion.admin import VersionAdmin
     6import util.admin
    47
    58class Admin_Space(VersionAdmin):
     
    1518
    1619class Admin_SpaceAssignment(admin.ModelAdmin):
     20    class AssignmentPeriodFilter(util.admin.TimePeriodFilter):
     21        start_field = 'start'
     22        end_field = 'end'
     23
    1724    list_max_show_all = 500
    1825    list_display = (
     
    2431    )
    2532    list_display_links = list_display
    26     list_filter = ('space', )
     33    list_filter = (AssignmentPeriodFilter, 'space', )
    2734    search_fields = ( 'group__name', 'group__officer_email', 'space__number', )
    2835admin.site.register(space.models.SpaceAssignment, Admin_SpaceAssignment)
    2936
    3037class Admin_SpaceAccessListEntry(admin.ModelAdmin):
     38    class AccessPeriodFilter(util.admin.TimePeriodFilter):
     39        start_field = 'start'
     40        end_field = 'end'
     41
    3142    list_display = (
    3243        'group',
     
    3748    )
    3849    list_display_links = list_display
     50    list_filter = (AccessPeriodFilter, 'space', )
    3951    search_fields = (
    4052        'group__name', 'group__officer_email',
Note: See TracChangeset for help on using the changeset viewer.