From 931f4ccd06e7ca4b1bbacbc2bb08ad15e92457f4 Mon Sep 17 00:00:00 2001
From: Vermaas <vermaas@astron.nl>
Date: Mon, 8 Jan 2024 11:20:20 +0100
Subject: [PATCH] handling stakeholder feedback adding additional statusses

---
 atdb/taskdatabase/models.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py
index bc4758b2..0d1d227d 100644
--- a/atdb/taskdatabase/models.py
+++ b/atdb/taskdatabase/models.py
@@ -329,7 +329,8 @@ class Task(models.Model):
     @property
     def sasid_ingested_fraction(self):
         result = {}
-        statusses = {'scrubbed': 0, 'archiving': 0, 'archived': 0, 'finished': 0}
+        statusses = {'scrubbed': 0, 'archiving': 0, 'archived': 0, 'finished': 0, 
+                     'suspended': 0,'discarded': 0, 'archived_failed': 0, 'finished_failed': 0}
 
         tasks = Task.objects.filter(sas_id=self.sas_id)
 
@@ -339,10 +340,15 @@ class Task(models.Model):
             except:
                 pass
 
-        incomplete = int(statusses['scrubbed']) + int(statusses['archiving'])
+        incomplete = int(statusses['scrubbed']) + int(statusses['archiving']) \
+                     + int(statusses['suspended']) + int(statusses['discarded']) \
+                     + int(statusses['archived_failed']) + int(statusses['finished_failed'])
         complete = int(statusses['archived']) + int(statusses['finished'])
         completion = round(complete / (incomplete + complete) * 100)
-        result['status'] = statusses
+
+        non_zero_statusses = {key: value for key, value in statusses.items() if value != 0}
+
+        result['status'] = non_zero_statusses
         result['completion'] = completion
         return result
 
-- 
GitLab