Commit | Line | Data |
---|---|---|
626048e1 AD |
1 | from django.contrib import messages |
2 | from django.shortcuts import get_object_or_404, render | |
3 | ||
9e60ac4d AD |
4 | from xnet.accounts.decorators import group_required |
5 | from xnet.accounts.models import XGroup, Membership | |
626048e1 AD |
6 | |
7 | ||
8 | def index(request): | |
9e60ac4d AD |
9 | return render(request, 'groups/index.html', { |
10 | 'groups': XGroup.objects.order_by('kind'), | |
11 | 'sidebar': 'list', | |
12 | }) | |
626048e1 | 13 | |
7eb52156 | 14 | def home(request, slug): |
9e60ac4d | 15 | return render(request, 'groups/home.html', { |
7eb52156 | 16 | 'group': get_object_or_404(XGroup, short=slug), |
9e60ac4d AD |
17 | 'sidebar': 'home', |
18 | }) | |
19 | ||
20 | @group_required() | |
21 | def directory(request, group, membership=None): | |
9e60ac4d AD |
22 | return render(request, 'groups/directory.html', { |
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) | |
33 | def membership_delete(request, group, to_delete): | |
34 | pass |