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): |
4c8372b0 NI |
16 | group = get_object_or_404(XGroup, short=slug) |
17 | try: | |
18 | membership = Membership.objects.get(xgroup=group, user=request.user) | |
19 | except Membership.DoesNotExist: | |
20 | membership = None | |
21 | ||
95fa5c13 | 22 | return render(request, 'groups/home.html', { |
4c8372b0 | 23 | 'group': group, |
9e60ac4d | 24 | 'sidebar': 'home', |
4c8372b0 | 25 | 'membership': membership, |
9e60ac4d AD |
26 | }) |
27 | ||
1564d2a5 | 28 | |
9e60ac4d AD |
29 | @group_required() |
30 | def directory(request, group, membership=None): | |
95fa5c13 | 31 | return render(request, 'groups/directory.html', { |
9e60ac4d | 32 | 'group': group, |
1564d2a5 NI |
33 | 'memberships': group.memberships. |
34 | filter(state='enabled'). | |
35 | select_related(). | |
9e60ac4d AD |
36 | order_by('level'), |
37 | 'is_admin': membership.level == Membership.LEVEL_ADMIN, | |
38 | 'sidebar': 'directory', | |
39 | }) | |
40 | ||
1564d2a5 | 41 | |
4c8372b0 NI |
42 | def membership_add(request, group, user_to_add): |
43 | pass | |
44 | ||
45 | ||
9e60ac4d | 46 | @group_required(level=Membership.LEVEL_ADMIN) |
1564d2a5 | 47 | def membership_delete(request, group, to_delete, membership=None): |
9e60ac4d | 48 | pass |