From 1ab5a2a359caeacc2993dce427d38e6388097ffb Mon Sep 17 00:00:00 2001 From: Vermaas <vermaas@astron.nl> Date: Mon, 27 Feb 2023 10:14:02 +0100 Subject: [PATCH] quality buttons are only available when all tasks of a sas_id are stored --- atdb/taskdatabase/models.py | 12 +++++++++--- atdb/taskdatabase/templates/taskdatabase/index.html | 2 +- .../taskdatabase/validation/validation_buttons.html | 6 +++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index 18323dc5..deed3c94 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -10,6 +10,7 @@ logger = logging.getLogger(__name__) # constants datetime_format_string = '%Y-%m-%dT%H:%M:%SZ' +verified_statusses = ['stored','validated','scrubbed','archived','finished'] class Workflow(models.Model): description = models.CharField(max_length=500, blank=True, null=True) @@ -225,10 +226,15 @@ class Task(models.Model): except: return None + @property - def sasid_has_same_status(self): - nr_of_statusses = Task.objects.filter(sas_id=self.sas_id).distinct("status").count() - return nr_of_statusses == 1 + def sasid_is_verified(self): + + for task in Task.objects.filter(sas_id=self.sas_id): + if task.status not in verified_statusses: + return False + return True + class LogEntry(models.Model): cpu_cycles = models.IntegerField(null=True,blank=True) diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index 4522887d..eb4a14ef 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 21 Februari 2023 + <p class="footer"> Version 27 Februari 2023 </div> diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html b/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html index 42ba24d1..a5a9d1c7 100644 --- a/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html +++ b/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html @@ -1,12 +1,12 @@ - {% if task.sasid_has_same_status %} + {% if task.sasid_is_verified %} <a href="{% url 'task-validate-view' task.pk 'poor' 'validated' my_tasks.number %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-check"></i> P</a> {% endif %} - {% if task.sasid_has_same_status %} + {% if task.sasid_is_verified %} <a href="{% url 'task-validate-view' task.pk 'moderate' 'validated' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-check"></i> M</a> {% endif %} - {% if task.sasid_has_same_status %} + {% if task.sasid_is_verified %} <a href="{% url 'task-validate-view' task.pk 'good' 'validated' my_tasks.number %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-check"></i> G</a> {% endif %} -- GitLab