From 050b0766177e23cdfb18612eb358ee1ac471209c Mon Sep 17 00:00:00 2001
From: Vermaas <vermaas@astron.nl>
Date: Thu, 6 Apr 2023 15:32:56 +0200
Subject: [PATCH] "suspended" and "discarded" tasks should not be included in
 the corresponding "Plots" and "Summary" lists, and should not block the
 validation

---
 atdb/taskdatabase/models.py                            |  2 +-
 atdb/taskdatabase/services/algorithms.py               | 10 ++++++++++
 atdb/taskdatabase/templates/taskdatabase/index.html    |  2 +-
 .../taskdatabase/tasks/set_status_buttons.html         |  2 ++
 4 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py
index 0fe43a69..85c2d5d7 100644
--- a/atdb/taskdatabase/models.py
+++ b/atdb/taskdatabase/models.py
@@ -10,7 +10,7 @@ logger = logging.getLogger(__name__)
 
 # constants
 datetime_format_string = '%Y-%m-%dT%H:%M:%SZ'
-verified_statusses = ['stored','validated','scrubbed','archived','finished']
+verified_statusses = ['stored','validated','scrubbed','archived','finished','suspended','discarded']
 
 class Workflow(models.Model):
     description = models.CharField(max_length=500, blank=True, null=True)
diff --git a/atdb/taskdatabase/services/algorithms.py b/atdb/taskdatabase/services/algorithms.py
index db9d1dbd..2c1ff41f 100644
--- a/atdb/taskdatabase/services/algorithms.py
+++ b/atdb/taskdatabase/services/algorithms.py
@@ -724,6 +724,11 @@ def construct_inspectionplots(task,source='task_id'):
         tasks = Task.objects.filter(sas_id=sas_id)
 
         for task in tasks:
+
+            # skip 'suspended' and 'discarded' tasks
+            if task.status in ['suspended','discarded']:
+                continue
+
             try:
                 results += '<tr style="background-color:#7EB1C4"><td colspan="3"><b>Task ' + str(task.id) + '</b></td></tr>'
                 plots = task.quality_json["plots"]
@@ -765,6 +770,11 @@ def construct_summary(task):
 
     tasks = Task.objects.filter(sas_id=sas_id)
     for task in tasks:
+
+        # skip 'suspended' and 'discarded' tasks
+        if task.status in ['suspended', 'discarded']:
+            continue
+
         results += '<tr style="background-color:#7EB1C4"><td colspan="3"><b>Task ' + str(task.id) + '</b></td></tr>'
 
         # find the plots in the quality json structure
diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html
index cbf6b0fa..b1857997 100644
--- a/atdb/taskdatabase/templates/taskdatabase/index.html
+++ b/atdb/taskdatabase/templates/taskdatabase/index.html
@@ -34,7 +34,7 @@
         {% include 'taskdatabase/pagination.html' %}
        </div>
     </div>
-    <p class="footer"> Version 4 April 2023
+    <p class="footer"> Version 6 April 2023
 
 </div>
 
diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks/set_status_buttons.html b/atdb/taskdatabase/templates/taskdatabase/tasks/set_status_buttons.html
index 0878aa87..7601e2a7 100644
--- a/atdb/taskdatabase/templates/taskdatabase/tasks/set_status_buttons.html
+++ b/atdb/taskdatabase/templates/taskdatabase/tasks/set_status_buttons.html
@@ -9,4 +9,6 @@
 <a href="{% url 'task-details-setstatus' task.pk 'archived' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> archived</a>&nbsp;
 <a href="{% url 'task-details-setstatus' task.pk 'finished' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> finished</a>&nbsp;
 <a href="{% url 'task-details-setstatus' task.pk 'suspended' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> suspended</a>&nbsp;
+<!--
 <a href="{% url 'task-details-setstatus' task.pk 'discard' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> discard</a>&nbsp;
+-->
\ No newline at end of file
-- 
GitLab