forked from adamlaska/datatracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathviews.py
More file actions
66 lines (51 loc) · 2.66 KB
/
views.py
File metadata and controls
66 lines (51 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Copyright The IETF Trust 2012-2020, All Rights Reserved
from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
import debug # pyflakes:ignore
from ietf.dbtemplate.models import DBTemplate
from ietf.dbtemplate.forms import DBTemplateForm
from ietf.group.models import Group
from ietf.ietfauth.utils import has_role
from ietf.utils.response import permission_denied
def group_template_list(request, acronym):
group = get_object_or_404(Group, acronym=acronym)
chairs = group.role_set.filter(name__slug='chair')
if not has_role(request.user, "Secretariat") and not (request.user.id and chairs.filter(person__user=request.user).count()):
permission_denied(request, "You are not authorized to access this view.")
template_list = DBTemplate.objects.filter(group=group)
return render(request, 'dbtemplate/template_list.html',
{'template_list': template_list,
'group': group,
})
def group_template_edit(request, acronym, template_id, base_template='dbtemplate/template_edit.html', formclass=DBTemplateForm, extra_context=None):
group = get_object_or_404(Group, acronym=acronym)
chairs = group.role_set.filter(name__slug='chair')
extra_context = extra_context or {}
if not has_role(request.user, "Secretariat") and not (request.user.id and chairs.filter(person__user=request.user).count()):
permission_denied(request, "You are not authorized to access this view.")
template = get_object_or_404(DBTemplate, id=template_id, group=group)
if request.method == 'POST':
form = formclass(instance=template, data=request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('..')
else:
form = formclass(instance=template)
context = {'template': template,
'group': group,
'form': form,
}
context.update(extra_context)
return render(request, base_template, context)
def group_template_show(request, acronym, template_id, base_template='dbtemplate/template_edit.html', extra_context=None):
group = get_object_or_404(Group, acronym=acronym)
chairs = group.role_set.filter(name__slug='chair')
extra_context = extra_context or {}
if not has_role(request.user, "Secretariat") and not (request.user.id and chairs.filter(person__user=request.user).count()):
permission_denied(request, "You are not authorized to access this view.")
template = get_object_or_404(DBTemplate, id=template_id, group=group)
context = {'template': template,
'group': group,
}
context.update(extra_context)
return render(request, base_template, context)