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")
|
||||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue