Display test result separately

Add option to mark them as reviewed to sort them by priority

PRODX-35953

Change-Id: If45d137b234db0fa42d5fb4316497989c5cd12bf
diff --git a/testrail_bot/control/views.py b/testrail_bot/control/views.py
index 8a362ef..350f9da 100644
--- a/testrail_bot/control/views.py
+++ b/testrail_bot/control/views.py
@@ -63,7 +63,9 @@
 
 
 def single_report(request, report_id):
-    report = models.TestRailReport.objects.get(pk=report_id)
+    report: models.TestRailReport = models.TestRailReport.objects.get(
+        pk=report_id
+    )
     data = report.path.read().decode("utf-8")
     if (
         request.method == "POST"
@@ -74,13 +76,25 @@
             content_type="application/json",
         )
 
+    test_results = [
+        models.TestResult.objects.filter(result_id=test_id)[0]
+        for test_id in report.test_results
+    ]
     return render(
         request,
         "control/report.html",
-        {"report_id": report.id, "report": data, "finished": report.finished},
+        {"report_obj": report, "report": data, "test_results": test_results},
     )
 
 
+def update_test_result(request, report_id, result_id, action_needed):
+    result = models.TestResult.objects.get(result_id=result_id)
+    result.action_needed = bool(action_needed)
+    result.save()
+    print(result.__dict__)
+    return redirect("single_report", report_id)
+
+
 def delete_report(request, report_id):
     report: models.TestRailReport = models.TestRailReport.objects.get(
         pk=report_id
@@ -298,7 +312,6 @@
 
 
 def save_scheduler(request, pk=None):
-    print(f"{request.POST=}")
     minute, hour, day_of_month, month_of_year, day_of_week = request.POST.get(
         "cron", "* * * * *"
     ).split(" ")