Group directory view
[xnet] / xnet / accounts / views.py
CommitLineData
626048e1
AD
1from django.contrib import messages
2from django.shortcuts import get_object_or_404, render
3
9e60ac4d
AD
4from xnet.accounts.decorators import group_required
5from xnet.accounts.models import XGroup, Membership
626048e1
AD
6
7
8def index(request):
9e60ac4d
AD
9 return render(request, 'groups/index.html', {
10 'groups': XGroup.objects.order_by('kind'),
11 'sidebar': 'list',
12 })
626048e1 13
25ff9d72 14def home(request, pk):
9e60ac4d
AD
15 return render(request, 'groups/home.html', {
16 'group': get_object_or_404(XGroup, pk=pk),
17 'sidebar': 'home',
18 })
19
20@group_required()
21def directory(request, group, membership=None):
22 print(group.memberships.filter(state='enabled').order_by('level'))
23 return render(request, 'groups/directory.html', {
24 'group': group,
25 'memberships': group.memberships. \
26 filter(state='enabled'). \
27 select_related(). \
28 order_by('level'),
29 'is_admin': membership.level == Membership.LEVEL_ADMIN,
30 'sidebar': 'directory',
31 })
32
33@group_required(level=Membership.LEVEL_ADMIN)
34def membership_delete(request, group, to_delete):
35 pass