-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathviews.py
More file actions
78 lines (60 loc) · 1.99 KB
/
views.py
File metadata and controls
78 lines (60 loc) · 1.99 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
67
68
69
70
71
72
73
74
75
76
77
78
from django.shortcuts import render, redirect
from django.http import HttpResponseRedirect
from bug_tracker.models import BugReport
from bug_tracker.forms import BugForm
from django.contrib.auth.decorators import login_required, permission_required
from login.decorators import user_is_email_confirmed
from django.forms import modelformset_factory
from .helpers import send_bug_notification
@login_required
@user_is_email_confirmed
def index(request):
if request.method == 'POST':
form = BugForm(request.POST)
if form.is_valid():
data = form.cleaned_data
new_report = BugReport.objects.create(info=data.get('info'),
recreation=data.get('recreate'),
user=request.user,
team=data.get('team'))
send_bug_notification(new_report)
return HttpResponseRedirect('/bug/submitted/')
else:
form = BugForm()
context = {
'teams' : BugReport.TEAM_CHOICES,
'form' : form,
}
return render(
request,
'bug_index.html',
context
)
@login_required
@user_is_email_confirmed
@permission_required('bug_tracker.bug_admin')
def admin(request):
team_info = []
for k,v in BugReport.TEAM_CHOICES:
if(request.user.has_perm(BugReport.TEAM_PERMS.get(k))):
team_info.append({
'name':v,
'open':BugReport.objects.filter(team__exact=k).filter(resolved__exact=False),
'closed':BugReport.objects.filter(team__exact=k).filter(resolved__exact=True),
})
context={'team_info':team_info}
if not request.user.is_superuser:
redirect('/')
return render(
request,
'bug_admin.html',
context
)
@login_required
@user_is_email_confirmed
def submitted(request):
context = {}
return render(
request,
'submitted.html',
context)