Changeset 2563230


Ignore:
Timestamp:
Apr 8, 2013, 2:52:19 PM (13 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, stable, stage
Children:
ef118cf
Parents:
62f73df
git-author:
Alex Dehnert <adehnert@…> (04/08/13 14:52:19)
git-committer:
Alex Dehnert <adehnert@…> (04/08/13 14:52:19)
Message:

Filters: select by office/locker ownership

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asadb/space/models.py

    r62f73df r2563230  
    134134)
    135135
    136 def building_filter(building):
    137     building_assignments = SpaceAssignment.current.filter(
    138         space__number__startswith="%s-" % (building, ),
    139     )
    140     owners = groups.models.Group.objects.filter(
    141         pk__in=building_assignments.values('group'),
    142     )
     136def assignment_filter(building=None, locker=None):
     137    assign = SpaceAssignment.current.all()
     138    if building:
     139        assign = assign.filter(
     140            space__number__startswith="%s-" % (building, ),
     141        )
     142    if locker == True:
     143        assign = assign.exclude(locker_num="")
     144    elif locker == False:
     145        assign = assign.filter(locker_num="")
     146    owners = groups.models.Group.objects.filter(pk__in=assign.values('group'))
    143147    return owners
    144148
     149groups.models.filter_registry.register(
     150    category='space',
     151    slug='space:locker',
     152    name='Locker owners',
     153    desc='Owners of lockers',
     154    qs_thunk=lambda: assignment_filter(locker=True),
     155)
     156groups.models.filter_registry.register(
     157    category='space',
     158    slug='space:office',
     159    name='Office owners',
     160    desc='Owners of offices',
     161    qs_thunk=lambda: assignment_filter(locker=False),
     162)
    145163groups.models.filter_registry.register(
    146164    category='space',
     
    148166    name='W20 owners',
    149167    desc='Owners of W20 space',
    150     qs_thunk=lambda: building_filter('W20'),
     168    qs_thunk=lambda: assignment_filter(building='W20'),
    151169)
    152170groups.models.filter_registry.register(
     
    155173    name='Walker owners',
    156174    desc='Owners of Walker space',
    157     qs_thunk=lambda: building_filter('50'),
    158 )
     175    qs_thunk=lambda: assignment_filter(building='50'),
     176)
     177
    159178
    160179class CurrentACLEntryManager(models.Manager):
Note: See TracChangeset for help on using the changeset viewer.