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