[a86a924] | 1 | # Create your views here. |
---|
[6ff04b1] | 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), ) |
---|