From d6a28ffa614652016538e971c6654a17ee2317da Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Fri, 14 Jan 2022 10:59:52 -0400 Subject: [PATCH] Ensure filter parameters are not "undefinde" --- program/views.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/program/views.py b/program/views.py index ceec1eb5..194fdd59 100644 --- a/program/views.py +++ b/program/views.py @@ -310,27 +310,32 @@ class APIShowViewSet(viewsets.ModelViewSet): shows = shows.filter(is_public=False) if owner := self.request.query_params.get('owner'): - # Filter shows by owner - shows = shows.filter(owners__in=[int(owner)]) + if owner != 'undefined': + shows = shows.filter(owners__in=[int(owner)]) if host := self.request.query_params.get('host'): - # Filter shows by host - shows = shows.filter(hosts__in=[int(host)]) + if host != 'undefined': + shows = shows.filter(hosts__in=[int(host)]) if language := self.request.query_params.get('language'): - shows = shows.filter(language__in=[int(language)]) + if language != 'undefined': + shows = shows.filter(language__in=[int(language)]) if type_ := self.request.query_params.get('type'): - shows = shows.filter(type__in=[int(type_)]) + if type_ != 'undefined': + shows = shows.filter(type__in=[int(type_)]) if category := self.request.query_params.get('category'): - shows = shows.filter(category__in=[int(category)]) + if category != 'undefined': + shows = shows.filter(category__in=[int(category)]) if topic := self.request.query_params.get('topic'): - shows = shows.filter(topic__in=[int(topic)]) + if topic != 'undefined': + shows = shows.filter(topic__in=[int(topic)]) if musicfocus := self.request.query_params.get('musicfocus'): - shows = shows.filter(musicfocus__in=[int(musicfocus)]) + if musicfocus != 'undefined': + shows = shows.filter(musicfocus__in=[int(musicfocus)]) return shows -- GitLab