diff --git a/SAS/TMSS/src/tmss/tmssapp/viewsets/specification.py b/SAS/TMSS/src/tmss/tmssapp/viewsets/specification.py index 12ec48a5ce3a504d1edd7df35e418451a66b3e1b..ba12a41f67d92e1b9cc7b86d45053bc719f82ffb 100644 --- a/SAS/TMSS/src/tmss/tmssapp/viewsets/specification.py +++ b/SAS/TMSS/src/tmss/tmssapp/viewsets/specification.py @@ -320,19 +320,9 @@ class ProjectCategoryViewSet(LOFARViewSet): serializer_class = serializers.ProjectCategorySerializer -class SchedulingUnitDraftPropertyFilter(property_filters.PropertyFilterSet): - start_time = property_filters.PropertyIsoDateTimeFromToRangeFilter(field_name='start_time') - stop_time = property_filters.PropertyIsoDateTimeFromToRangeFilter(field_name='stop_time') - - class Meta: - model = models.SchedulingUnitDraft - fields = ['start_time', 'stop_time'] - - class SchedulingUnitDraftViewSet(LOFARViewSet): queryset = models.SchedulingUnitDraft.objects.all() serializer_class = serializers.SchedulingUnitDraftSerializer - filter_class = SchedulingUnitDraftPropertyFilter # prefetch all reverse related references from other models on their related_name to avoid a ton of duplicate queries queryset = queryset.prefetch_related('copied_from') \ diff --git a/SAS/TMSS/test/t_tmssapp_specification_REST_API.py b/SAS/TMSS/test/t_tmssapp_specification_REST_API.py index c6b0d3d717a631fbd1dae694c2951ccf88851478..906e1ebcaf53a9408ec9a1d5216c361af5251df9 100755 --- a/SAS/TMSS/test/t_tmssapp_specification_REST_API.py +++ b/SAS/TMSS/test/t_tmssapp_specification_REST_API.py @@ -1944,6 +1944,21 @@ class SchedulingUnitBlueprintTestCase(unittest.TestCase): GET_OK_and_assert_equal_expected_response(self, BASE_URL + '/scheduling_unit_blueprint/%s/' % id1, test_data_1) GET_OK_and_assert_equal_expected_response(self, BASE_URL + '/scheduling_unit_blueprint/%s/' % id2, test_data_2) + def test_GET_SchedulingUnitBlueprint_view_can_filter_for_time_range(self): + + # setup + subtask_1 = models.Subtask.objects.create(**Subtask_test_data(start_time=datetime(2050, 1, 1, 10, 0, 0), stop_time=datetime(2050, 1, 1, 14, 0, 0))) + subtask_2 = models.Subtask.objects.create(**Subtask_test_data(start_time=datetime(2050, 1, 5, 10, 0, 0), stop_time=datetime(2050, 1, 5, 14, 0, 0))) + + # assert + response_1 = GET_and_assert_equal_expected_code(self, BASE_URL + '/scheduling_unit_blueprint/?start_time_after=2050-01-01T9:00:00&stop_time_before=2050-01-01T15:00:00', 200) + response_2 = GET_and_assert_equal_expected_code(self, BASE_URL + '/scheduling_unit_blueprint/?start_time_after=2050-01-01T9:00:00&stop_time_before=2050-01-05T15:00:00', 200) + + self.assertEqual(response_1['count'], 1) + self.assertEqual(response_2['count'], 2) + + + class TaskBlueprintTestCase(unittest.TestCase):