Move groups templates to accounts/ app.
[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):
44fa5a1c 9 return render(request, 'accounts/index.html', {
9e60ac4d
AD
10 'groups': XGroup.objects.order_by('kind'),
11 'sidebar': 'list',
12 })
626048e1 13
7eb52156 14def home(request, slug):
44fa5a1c 15 return render(request, 'accounts/home.html', {
7eb52156 16 'group': get_object_or_404(XGroup, short=slug),
9e60ac4d
AD
17 'sidebar': 'home',
18 })
19
20@group_required()
21def directory(request, group, membership=None):
44fa5a1c 22 return render(request, 'accounts/directory.html', {
9e60ac4d
AD
23 'group': group,
24 'memberships': group.memberships. \
25 filter(state='enabled'). \
26 select_related(). \
27 order_by('level'),
28 'is_admin': membership.level == Membership.LEVEL_ADMIN,
29 'sidebar': 'directory',
30 })
31
32@group_required(level=Membership.LEVEL_ADMIN)
33def membership_delete(request, group, to_delete):
34 pass