From 8cb6ccc8e2521056fd3b1a05b2ce0a412af1e53b Mon Sep 17 00:00:00 2001 From: Zane Salvatore Date: Mon, 30 Jun 2014 14:25:15 -0700 Subject: [PATCH 1/2] Allow ctnr IDs to be separated by commas --- cyder/api/v1/filter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cyder/api/v1/filter.py b/cyder/api/v1/filter.py index 86739b66a..37a146142 100644 --- a/cyder/api/v1/filter.py +++ b/cyder/api/v1/filter.py @@ -60,8 +60,9 @@ def filter_queryset(self, request, queryset, view): queryset = queryset.order_by(*sort) elif q == "ctnr_id": + ctnr = p.split(',') queryset &= parent_model.filter_by_ctnr( - Ctnr.objects.get(id=int(p))) + Ctnr.objects.get(id__in=int(p))) elif q == "ctnr": queryset = queryset & parent_model.filter_by_ctnr( From 2fe0b22824601887dd4dde0e884c3432727d808d Mon Sep 17 00:00:00 2001 From: Zane Salvatore Date: Tue, 1 Jul 2014 14:31:47 -0700 Subject: [PATCH 2/2] Allow comma-separated ctnr filtering --- cyder/api/v1/filter.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cyder/api/v1/filter.py b/cyder/api/v1/filter.py index 37a146142..2ca2a9be2 100644 --- a/cyder/api/v1/filter.py +++ b/cyder/api/v1/filter.py @@ -60,13 +60,14 @@ def filter_queryset(self, request, queryset, view): queryset = queryset.order_by(*sort) elif q == "ctnr_id": - ctnr = p.split(',') - queryset &= parent_model.filter_by_ctnr( - Ctnr.objects.get(id__in=int(p))) + for ctnr_id in map(int, p.split(',')): + queryset |= parent_model.filter_by_ctnr( + Ctnr.objects.get(id=ctnr_id)) elif q == "ctnr": - queryset = queryset & parent_model.filter_by_ctnr( - Ctnr.objects.get(name=p)).all() + for ctnr in p.split(','): + queryset |= parent_model.filter_by_ctnr( + Ctnr.objects.get(name=ctnr)) elif q not in UNHANDLED_PARAMS: raise InvalidQuery(