Coverage for product_risk_suite / risk_assessment / views.py: 37%
43 statements
« prev ^ index » next coverage.py v7.14.0, created at 2026-05-13 23:42 +0000
« prev ^ index » next coverage.py v7.14.0, created at 2026-05-13 23:42 +0000
1from django.shortcuts import get_object_or_404, render
2from django.views.decorators.csrf import csrf_protect
3from django.contrib.auth.decorators import login_required
5from .models import SecurityRequirement, RiskRating, SeverityName, LikelihoodName, SeverityExample, LikelihoodExample, SuggestedMitigationValidation
7@csrf_protect
8@login_required
9def security_requirements(request):
10 context = {"security_req_list": SecurityRequirement.objects.all()}
11 return render(request, "security_requirements.html", context)
13@csrf_protect
14@login_required
15def security_requirement(request, norm_slug):
16 req = get_object_or_404(SecurityRequirement, slug=norm_slug)
18 context = {"req": req}
19 return render(request, "security_requirement.html", context)
21@csrf_protect
22@login_required
23def risk_info(request):
24 severities = [{ "str": SeverityName.to_human_str(i), "value": i } for i in range(1, 6)]
25 loos = [{"str": LikelihoodName.to_human_str(i), "value": i} for i in range(1, 6) ]
27 risk_color = {}
28 risk = {}
29 for y in range(1, 6):
30 risk[f"{y}"] = {}
31 risk_color[f"{y}"] = {}
32 for x in range(1, 6):
33 r = RiskRating.calc_risk(y, x)
34 risk[f"{y}"][f"{x}"] = r
35 risk_color[f"{y}"][f"{x}"] = RiskRating.risk_level_to_color(RiskRating.risk_level(r))
37 example_severities = {}
38 for se in SeverityExample.objects.all():
39 example_severities[f"{se.severity_of_impact}"] = se.examples
40 example_loos = {}
41 for lo in LikelihoodExample.objects.all():
42 example_loos[f"{lo.likelihood_of_occurrence}"] = lo.examples
43 context = {
44 "risk_color": risk_color,
45 "risk": risk,
46 "severities": severities,
47 "loos": loos,
48 "example_severities": example_severities,
49 "example_loos": example_loos
50 }
51 return render(request, "risk_info.html", context)
53@csrf_protect
54@login_required
55def suggestion_view(request, id):
56 sug = get_object_or_404(SuggestedMitigationValidation, id=id)
58 context = {"sug": sug}
59 return render(request, "suggestion.html", context)