Ignore:
Timestamp:
Aug 9, 2011, 3:36:48 AM (14 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, space-access, stable, stage, test-hooks
Children:
343cceb
Parents:
d8290de
git-author:
Alex Dehnert <adehnert@…> (08/09/11 03:36:48)
git-committer:
Alex Dehnert <adehnert@…> (08/09/11 03:36:48)
Message:

Add a signatories list page

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asadb/groups/views.py

    rd8290de ra96622c  
    11# Create your views here.
    22
     3import collections
     4import datetime
     5
    36import groups.models
    47
    5 from django.contrib.auth.decorators import user_passes_test, login_required
     8from django.contrib.auth.decorators import user_passes_test, login_required, permission_required
    69from django.contrib.contenttypes.models import ContentType
    710from django.core.exceptions import PermissionDenied
     
    293296    }
    294297    return render_to_response('groups/group_change_officers.html', context, context_instance=RequestContext(request), )
     298
     299@permission_required('groups.view_signatories')
     300def view_signatories(request, ):
     301    officers = groups.models.OfficeHolder.objects.filter(start_time__lte=datetime.datetime.now(), end_time__gte=datetime.datetime.now())
     302    all_groups = groups.models.Group.objects.all()
     303    roles = groups.models.OfficerRole.objects.all()
     304    officers_map = collections.defaultdict(lambda: collections.defaultdict(set))
     305    print officers
     306    for officer in officers:
     307        officers_map[officer.group][officer.role].add(officer.person)
     308    officers_data = []
     309    for group in all_groups:
     310        role_list = []
     311        for role in roles:
     312            role_list.append(officers_map[group][role])
     313        officers_data.append((group, role_list))
     314
     315    context = {
     316        'roles': roles,
     317        'officers': officers_data,
     318    }
     319    return render_to_response('groups/groups_signatories.html', context, context_instance=RequestContext(request), )
Note: See TracChangeset for help on using the changeset viewer.