Commit | Line | Data |
---|---|---|
626048e1 AD |
1 | from django.contrib import messages |
2 | from django.shortcuts import get_object_or_404, render | |
3 | ||
95fa5c13 RB |
4 | from .decorators import group_required |
5 | from .models import XGroup, Membership | |
626048e1 AD |
6 | |
7 | ||
8 | def 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 | 15 | def 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() |
23 | def 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 | 36 | def membership_delete(request, group, to_delete, membership=None): |
9e60ac4d | 37 | pass |