canceling jobs and tasks
[qcg-portal.git] / qcg / models.py
index f452874..fa5065b 100644 (file)
@@ -78,6 +78,10 @@ class Job(models.Model):
 
         return attrs
 
+    @property
+    def terminated(self):
+        return self.get_status_display() in [JobStatus.FINISHED, JobStatus.FAILED, JobStatus.CANCELED]
+
 
 class Task(models.Model):
     STATUS_CHOICES = list(enumerate(field for field in dir(TaskStatus) if not field.startswith('__')))
@@ -159,6 +163,10 @@ class Task(models.Model):
     def short_host_names(self):
         return {alloc.host_name.split('.', 1)[0] for alloc in self.allocations.all()}
 
+    @property
+    def terminated(self):
+        return self.get_status_display() in [TaskStatus.FINISHED, TaskStatus.FAILED, TaskStatus.CANCELED]
+
 
 class Allocation(models.Model):
     STATUS_CHOICES = list(enumerate(field for field in dir(AllocationType) if not field.startswith('__')))