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

View File

@@ -170,8 +170,8 @@ def get_notification_by_id(notification_id):
def get_all_notifications():
data = notifications_filter_schema.load(request.args).data
include_jobs = data.get('include_jobs', False)
page = data['page'] if 'page' in data else 1
page_size = data['page_size'] if 'page_size' in data else current_app.config.get('PAGE_SIZE')
page = data.get('page', 1)
page_size = data.get('page_size', current_app.config.get('PAGE_SIZE'))
limit_days = data.get('limit_days')
pagination = notifications_dao.get_notifications_for_service(