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 @@ ...@@ -4,7 +4,7 @@
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/venv" /> <excludeFolder url="file://$MODULE_DIR$/venv" />
</content> </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" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
<component name="PyDocumentationSettings"> <component name="PyDocumentationSettings">
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <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"> <component name="PyCharmProfessionalAdvertiser">
<option name="shown" value="true" /> <option name="shown" value="true" />
</component> </component>
......
...@@ -59,7 +59,6 @@ def convert_summary_to_list_for_template(task): ...@@ -59,7 +59,6 @@ def convert_summary_to_list_for_template(task):
try: try:
summary = task.quality_json['summary'] summary = task.quality_json['summary']
except Exception as err: except Exception as err:
pass pass
...@@ -98,17 +97,15 @@ class Task(models.Model): ...@@ -98,17 +97,15 @@ class Task(models.Model):
size_processed = models.PositiveBigIntegerField(default=0, null=True, blank=True) size_processed = models.PositiveBigIntegerField(default=0, null=True, blank=True)
total_processing_time = models.IntegerField(default=0, null=True, blank=True) total_processing_time = models.IntegerField(default=0, null=True, blank=True)
# relationships # relationships
workflow = models.ForeignKey(Workflow, related_name='tasks', on_delete=models.SET_NULL, null=True, blank=True) 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) predecessor = models.ForeignKey('self', related_name='successors', on_delete=models.SET_NULL, null=True, blank=True)
def __str__(self): def __str__(self):
return str(self.id) + ' - (' + self.task_type + ') - ' + str(self.sas_id) 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 # 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> # good: <td><a href="{{ task.get_absolute_url }}" target="_blank">{{ task.taskID }} </a> </td>
def get_absolute_url(self): def get_absolute_url(self):
return reverse('task-detail-view-api', kwargs={'pk': self.pk}) return reverse('task-detail-view-api', kwargs={'pk': self.pk})
...@@ -122,7 +119,6 @@ class Task(models.Model): ...@@ -122,7 +119,6 @@ class Task(models.Model):
@property @property
def has_quality(self): def has_quality(self):
try: try:
quality = self.outputs['quality'] quality = self.outputs['quality']
return True return True
...@@ -137,7 +133,6 @@ class Task(models.Model): ...@@ -137,7 +133,6 @@ class Task(models.Model):
@property @property
def has_plots(self): def has_plots(self):
try: try:
quality = self.outputs['quality'] quality = self.outputs['quality']
plots = quality['plots'] plots = quality['plots']
...@@ -160,7 +155,6 @@ class Task(models.Model): ...@@ -160,7 +155,6 @@ class Task(models.Model):
@property @property
def quality_json(self): def quality_json(self):
try: try:
return self.outputs['quality'] return self.outputs['quality']
except: except:
...@@ -224,13 +218,18 @@ class Task(models.Model): ...@@ -224,13 +218,18 @@ class Task(models.Model):
except: except:
return None return None
@property
def path_to_lta(self): def path_to_lta(self):
try: try:
return self.archive['path_to_lta'] return self.archive['path_to_lta']
except: except:
return None 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): class LogEntry(models.Model):
cpu_cycles = models.IntegerField(null=True,blank=True) cpu_cycles = models.IntegerField(null=True,blank=True)
wall_clock_time = models.IntegerField(null=True,blank=True) wall_clock_time = models.IntegerField(null=True,blank=True)
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
{% include 'taskdatabase/pagination.html' %} {% include 'taskdatabase/pagination.html' %}
</div> </div>
</div> </div>
<p class="footer"> Version 17 Februari 2023 <p class="footer"> Version 21 Februari 2023
</div> </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> <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> <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> <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.
Please register or to comment