From 266bf1fd0032617a286c453aec45b07b50779980 Mon Sep 17 00:00:00 2001 From: Vermaas <vermaas@astron.nl> Date: Mon, 2 Dec 2024 16:29:45 +0100 Subject: [PATCH] bugfix: validation page should ignore discarded --- atdb/taskdatabase/services/activities_handler.py | 2 +- atdb/taskdatabase/services/common.py | 1 + atdb/taskdatabase/views.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/atdb/taskdatabase/services/activities_handler.py b/atdb/taskdatabase/services/activities_handler.py index 90aa78a8..544a1a3d 100644 --- a/atdb/taskdatabase/services/activities_handler.py +++ b/atdb/taskdatabase/services/activities_handler.py @@ -1,6 +1,6 @@ import logging; from django.conf import settings -from django.db.models import Sum + from .common import State, AggregationStrategy, VERIFIED_STATUSSES, PROCESSED_STATUSSES, INGEST_FRACTION_STATUSSES, \ UPDATE_ARCHIVE_STATUSSES, ACTIVITY_RESET_STATUSSEN from taskdatabase.models import Task, Activity, Configuration diff --git a/atdb/taskdatabase/services/common.py b/atdb/taskdatabase/services/common.py index ad0013e8..a9b60ce7 100644 --- a/atdb/taskdatabase/services/common.py +++ b/atdb/taskdatabase/services/common.py @@ -27,6 +27,7 @@ class State(Enum): FINISHED = "finished" FINISHING = "finishing" SUSPENDED = "suspended" + DISCARD = "discard" DISCARDED = "discarded" FAILED = "failed" COLLECTING_DATA = "collecting_data" diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py index 1d6c7b99..7fbabb34 100644 --- a/atdb/taskdatabase/views.py +++ b/atdb/taskdatabase/views.py @@ -688,7 +688,7 @@ def get_filtered_tasks(request, pre_filtered_tasks=None, distinct=None): # this assumes a similarity between tasks that share a field used as 'distinct'. (in practise that is sas_id) # this is only the case for tasks of the same 'task_type', and currently this is only used for 'regular' tasks. # (to turn that around, 'task_type=aggregation' should be omitted from this filter). - my_distinct_tasks = filtered_tasks.filter(task_type='regular').order_by(distinct,my_sort).distinct(distinct) + my_distinct_tasks = filtered_tasks.filter(task_type='regular').exclude(status='discarded').order_by(distinct,my_sort).distinct(distinct) return filtered_tasks.filter(id__in=my_distinct_tasks).order_by(my_sort) else: return filtered_tasks.order_by(my_sort) -- GitLab