add mark_risk_as_reviewd button
This commit is contained in:
parent
9c1fa2afa9
commit
32495e2763
1 changed files with 15 additions and 0 deletions
|
@ -195,6 +195,21 @@ def show_risk(request, id):
|
||||||
logs = LogEntry.objects.filter(content_type=ct, object_id=risk.pk).order_by("-action_time")
|
logs = LogEntry.objects.filter(content_type=ct, object_id=risk.pk).order_by("-action_time")
|
||||||
return render(request, "risks/item_risk.html", {"risk": risk, "logs": logs})
|
return render(request, "risks/item_risk.html", {"risk": risk, "logs": logs})
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def mark_risk_reviewed(request, pk):
|
||||||
|
"""Mark a risk as reviewed and close if all controls are completed."""
|
||||||
|
risk = get_object_or_404(Risk, pk=pk)
|
||||||
|
all_done = all(c.status in ("completed", "verified") for c in risk.controls.all())
|
||||||
|
|
||||||
|
if all_done:
|
||||||
|
risk.status = "closed"
|
||||||
|
risk._changed_by = request.user
|
||||||
|
risk.save(update_fields=["status", "updated_at"])
|
||||||
|
messages.success(request, _("Risk has been marked as reviewed and closed."))
|
||||||
|
else:
|
||||||
|
messages.error(request, _("Not all controls are completed. Risk cannot be closed yet."))
|
||||||
|
|
||||||
|
return redirect("risks:show_risk", id=risk.pk)
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Web Views: Controls
|
# Web Views: Controls
|
||||||
|
|
Loading…
Add table
Reference in a new issue