1 | # Create your views here. |
---|
2 | from django.contrib.auth.decorators import user_passes_test, login_required, permission_required |
---|
3 | from django.shortcuts import render_to_response, get_object_or_404, redirect |
---|
4 | from django.template import RequestContext, Context, Template |
---|
5 | from django.http import Http404, HttpResponseRedirect |
---|
6 | from django.core.urlresolvers import reverse |
---|
7 | from django.core.mail import EmailMessage, mail_admins |
---|
8 | from django import forms |
---|
9 | from django.forms import ValidationError |
---|
10 | from django.db import connection |
---|
11 | from django.db.models import Q |
---|
12 | from django.utils.safestring import mark_safe |
---|
13 | |
---|
14 | import django_filters |
---|
15 | |
---|
16 | import groups.models |
---|
17 | import space.models |
---|
18 | |
---|
19 | def 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), ) |
---|