Simplify _filter_query() function

This commit is contained in:
Paul Craig
2016-11-22 17:30:03 +00:00
parent 669126d41b
commit f1ea39d4c0
2 changed files with 12 additions and 7 deletions

View File

@@ -296,15 +296,20 @@ def get_notifications_for_service(
def _filter_query(query, filter_dict=None):
if filter_dict is None:
filter_dict = MultiDict()
else:
filter_dict = MultiDict(filter_dict)
statuses = filter_dict.getlist('status') if 'status' in filter_dict else None
return query
multidict = MultiDict(filter_dict)
# filter by status
statuses = multidict.getlist('status')
if statuses:
query = query.filter(Notification.status.in_(statuses))
template_types = filter_dict.getlist('template_type') if 'template_type' in filter_dict else None
# filter by template
template_types = multidict.getlist('template_type')
if template_types:
query = query.join(Template).filter(Template.template_type.in_(template_types))
return query