source: asadb/space/views.py @ d85ba8f

space-accessstablestage
Last change on this file since d85ba8f was 6ff04b1, checked in by Alex Dehnert <adehnert@…>, 14 years ago

Office access: allow viewing access

  • Property mode set to 100755
File size: 1.7 KB
Line 
1# Create your views here.
2from django.contrib.auth.decorators import user_passes_test, login_required, permission_required
3from django.shortcuts import render_to_response, get_object_or_404, redirect
4from django.template import RequestContext, Context, Template
5from django.http import Http404, HttpResponseRedirect
6from django.core.urlresolvers import reverse
7from django.core.mail import EmailMessage, mail_admins
8from django import forms
9from django.forms import ValidationError
10from django.db import connection
11from django.db.models import Q
12from django.utils.safestring import mark_safe
13
14import django_filters
15
16import groups.models
17import space.models
18
19def view_access(request, pk, ):
20    group = get_object_or_404(groups.models.Group, pk=pk)
21    if not request.user.has_perm('groups.admin_group', group):
22        raise PermissionDenied
23    office_access = group.officers(role='office-access')
24    locker_access = group.officers(role='locker-access')
25    assignments = space.models.SpaceAssignment.current.filter(group=group)
26    office_pairs = []
27    locker_pairs = []
28    for assignment in assignments:
29        entries = space.models.SpaceAccessListEntry.current.filter(group=group, space=assignment.space)
30        pair = (assignment, entries)
31        if assignment.is_locker():
32            locker_pairs.append(pair)
33        else:
34            office_pairs.append(pair)
35    context = {
36        'group': group,
37        'office': office_access,
38        'locker': locker_access,
39        'office_pairs': office_pairs,
40        'locker_pairs': locker_pairs,
41        'pagename':'group',
42    }
43    return render_to_response('space/view-access.html', context, context_instance=RequestContext(request), )
Note: See TracBrowser for help on using the repository browser.