diff --git a/.idea/atdb-ldv.iml b/.idea/atdb-ldv.iml index 5f7c653954fce103ff3e9cc03747ffdfa123559a..2ab3c03993ecfb0732bf60b1d5b642f09a14154a 100644 --- a/.idea/atdb-ldv.iml +++ b/.idea/atdb-ldv.iml @@ -4,7 +4,7 @@ <content url="file://$MODULE_DIR$"> <excludeFolder url="file://$MODULE_DIR$/venv" /> </content> - <orderEntry type="jdk" jdkName="Python 3.9 (atdb-ldv) (2)" jdkType="Python SDK" /> + <orderEntry type="jdk" jdkName="Python 3.9 (atdb-ldv)" jdkType="Python SDK" /> <orderEntry type="sourceFolder" forTests="false" /> </component> <component name="PyDocumentationSettings"> diff --git a/.idea/misc.xml b/.idea/misc.xml index 473a06f78d2798affb77f52a03542ae3b9dde05c..b69afdb89884dd81772c071f7da9af8a4225b6de 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> - <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (atdb-ldv) (2)" project-jdk-type="Python SDK" /> + <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (atdb-ldv)" project-jdk-type="Python SDK" /> <component name="PyCharmProfessionalAdvertiser"> <option name="shown" value="true" /> </component> diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index 27adf8c94fb28f492c4523e2973641de817c35d3..18323dc554eec17e6f2b176d3c3dca52e969186f 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -59,7 +59,6 @@ def convert_summary_to_list_for_template(task): try: summary = task.quality_json['summary'] - except Exception as err: pass @@ -98,17 +97,15 @@ class Task(models.Model): size_processed = models.PositiveBigIntegerField(default=0, null=True, blank=True) total_processing_time = models.IntegerField(default=0, null=True, blank=True) - # relationships workflow = models.ForeignKey(Workflow, related_name='tasks', on_delete=models.SET_NULL, null=True, blank=True) predecessor = models.ForeignKey('self', related_name='successors', on_delete=models.SET_NULL, null=True, blank=True) def __str__(self): - return str(self.id) + ' - (' + self.task_type + ') - ' + str(self.sas_id) # this translates a view-name (from urls.py) back to a url, to avoid hardcoded url's in the html templates - # bad : <td><a href="/atdb/taaks/{{ task.id }}/" target="_blank">{{ task.taskID }} </a> </td> + # bad : <td><a href="/atdb/tasks/{{ task.id }}/" target="_blank">{{ task.taskID }} </a> </td> # good: <td><a href="{{ task.get_absolute_url }}" target="_blank">{{ task.taskID }} </a> </td> def get_absolute_url(self): return reverse('task-detail-view-api', kwargs={'pk': self.pk}) @@ -122,7 +119,6 @@ class Task(models.Model): @property def has_quality(self): - try: quality = self.outputs['quality'] return True @@ -137,7 +133,6 @@ class Task(models.Model): @property def has_plots(self): - try: quality = self.outputs['quality'] plots = quality['plots'] @@ -160,7 +155,6 @@ class Task(models.Model): @property def quality_json(self): - try: return self.outputs['quality'] except: @@ -224,13 +218,18 @@ class Task(models.Model): except: return None - + @property def path_to_lta(self): try: return self.archive['path_to_lta'] 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 + class LogEntry(models.Model): cpu_cycles = models.IntegerField(null=True,blank=True) wall_clock_time = models.IntegerField(null=True,blank=True) diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index baa9888b398cee0bdf53b2bb96d09e3a987aac2f..4522887d05320dc18e2db030b4517a0f1ce63494 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 17 Februari 2023 + <p class="footer"> Version 21 Februari 2023 </div> diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html b/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html index 70b6c62fa718dc18bd557e7b7ff032953056c7c8..42ba24d14935d00f2d9443bf8f4d932e43c26056 100644 --- a/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html +++ b/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html @@ -1,3 +1,12 @@ + + {% if task.sasid_has_same_status %} <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 %} <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 %} <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 %}