diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index dc4511d4f732946528fdb3ace87554c9c00a5b15..036822196f4f74be31636374464540301129cd18 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -368,6 +368,19 @@ class Job(models.Model): def __str__(self): return 'task_id:'+str(self.task_id)+', job_id:'+str(self.job_id) + @property + def webdav_url(self): + try: + path = self.metadata['stdout_path'] + + # form the webdav url + s = path.rsplit('/', 1) + l = s[0].split('/run') + webdav_url = "https://public.spider.surfsara.nl/project/ldv/run" + l[1] + + return webdav_url + except: + return "N/A" class PostProcessingRule(models.Model): aggregation_key = models.CharField(db_index=True, max_length=20, default=None,null=True, blank=True) diff --git a/atdb/taskdatabase/serializers.py b/atdb/taskdatabase/serializers.py index 3b19c5d51807e7574368a5cceb5600cfee331282..9253fe93ac4668045595332b031cbfe6f9b4a17e 100644 --- a/atdb/taskdatabase/serializers.py +++ b/atdb/taskdatabase/serializers.py @@ -159,6 +159,7 @@ class JobSerializer(serializers.ModelSerializer): class Meta: model = Job fields = "__all__" + fields = ['id','type','task_id','job_id','metadata','webdav_url'] class PostProcessingRuleSerializer(serializers.ModelSerializer): diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index e957558f2a3c378b5f857e8534e61ad1316fbe70..fd59a14cffe48a9d9e13669b0631561696b7d0b4 100644 --- a/atdb/taskdatabase/templates/taskdatabase/index.html +++ b/atdb/taskdatabase/templates/taskdatabase/index.html @@ -31,7 +31,7 @@ {% include 'taskdatabase/pagination.html' %} </div> </div> - <p class="footer"> Version 4 July 2023 + <p class="footer"> Version 6 July 2023 </div> {% include 'taskdatabase/refresh.html' %}