Skip to content
Snippets Groups Projects
Commit 8d83eb46 authored by Nico Vermaas's avatar Nico Vermaas
Browse files

quality buttons are only available when all tasks of a sas_id are stored

parent aae1d27c
No related branches found
No related tags found
1 merge request!282quality buttons are only available when all tasks of a sas_id are stored
Pipeline #44670 passed
......@@ -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">
......
<?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>
......
......@@ -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)
......
......@@ -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>
......
{% 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 %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment