mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-20 23:41:17 -05:00
fix the inline display for Failed on the dashboard
This commit is contained in:
@@ -239,18 +239,22 @@ def get_notifications_for_service(
|
|||||||
|
|
||||||
query = Notification.query.filter(*filters)
|
query = Notification.query.filter(*filters)
|
||||||
query = _filter_query(query, filter_dict)
|
query = _filter_query(query, filter_dict)
|
||||||
|
print(f"QUERY IS {query}")
|
||||||
if personalisation:
|
if personalisation:
|
||||||
query = query.options(
|
query = query.options(
|
||||||
joinedload('template')
|
joinedload('template')
|
||||||
)
|
)
|
||||||
|
|
||||||
return query.order_by(desc(Notification.created_at)).paginate(
|
x = query.order_by(desc(Notification.created_at)).paginate(
|
||||||
page=page,
|
page=page,
|
||||||
per_page=page_size,
|
per_page=page_size,
|
||||||
count=count_pages,
|
count=count_pages,
|
||||||
error_out=error_out,
|
error_out=error_out,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
print(f"IN NOTIFICATION DAO, pagination yields {x.items}")
|
||||||
|
return x
|
||||||
|
|
||||||
|
|
||||||
def _filter_query(query, filter_dict=None):
|
def _filter_query(query, filter_dict=None):
|
||||||
if filter_dict is None:
|
if filter_dict is None:
|
||||||
@@ -260,8 +264,14 @@ def _filter_query(query, filter_dict=None):
|
|||||||
|
|
||||||
# filter by status
|
# filter by status
|
||||||
statuses = multidict.getlist('status')
|
statuses = multidict.getlist('status')
|
||||||
|
|
||||||
if statuses:
|
if statuses:
|
||||||
statuses = Notification.substitute_status(statuses)
|
statuses = Notification.substitute_status(statuses)
|
||||||
|
# TODO WHY
|
||||||
|
if len(statuses) == 5 and 'temporary-failure' in statuses:
|
||||||
|
statuses = ['failed']
|
||||||
|
print(f"STATUSES = {statuses}")
|
||||||
|
|
||||||
query = query.filter(Notification.status.in_(statuses))
|
query = query.filter(Notification.status.in_(statuses))
|
||||||
|
|
||||||
# filter by template
|
# filter by template
|
||||||
|
|||||||
@@ -352,8 +352,10 @@ def get_service_history(service_id):
|
|||||||
|
|
||||||
@service_blueprint.route('/<uuid:service_id>/notifications', methods=['GET', 'POST'])
|
@service_blueprint.route('/<uuid:service_id>/notifications', methods=['GET', 'POST'])
|
||||||
def get_all_notifications_for_service(service_id):
|
def get_all_notifications_for_service(service_id):
|
||||||
|
print(f"ENTER GET_ALL_NOTIFICATIONS_FOR_SERVICE")
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
data = notifications_filter_schema.load(request.args)
|
data = notifications_filter_schema.load(request.args)
|
||||||
|
print(f"DATA IS {data}")
|
||||||
elif request.method == 'POST':
|
elif request.method == 'POST':
|
||||||
# Must transform request.get_json() to MultiDict as NotificationsFilterSchema expects a MultiDict.
|
# Must transform request.get_json() to MultiDict as NotificationsFilterSchema expects a MultiDict.
|
||||||
# Unlike request.args, request.get_json() does not return a MultiDict but instead just a dict.
|
# Unlike request.args, request.get_json() does not return a MultiDict but instead just a dict.
|
||||||
@@ -387,6 +389,7 @@ def get_all_notifications_for_service(service_id):
|
|||||||
include_from_test_key=include_from_test_key,
|
include_from_test_key=include_from_test_key,
|
||||||
include_one_off=include_one_off
|
include_one_off=include_one_off
|
||||||
)
|
)
|
||||||
|
print(f"PAGINATION ITEMS = {pagination.items}")
|
||||||
|
|
||||||
kwargs = request.args.to_dict()
|
kwargs = request.args.to_dict()
|
||||||
kwargs['service_id'] = service_id
|
kwargs['service_id'] = service_id
|
||||||
@@ -395,7 +398,7 @@ def get_all_notifications_for_service(service_id):
|
|||||||
notifications = [notification.serialize_for_csv() for notification in pagination.items]
|
notifications = [notification.serialize_for_csv() for notification in pagination.items]
|
||||||
else:
|
else:
|
||||||
notifications = notification_with_template_schema.dump(pagination.items, many=True)
|
notifications = notification_with_template_schema.dump(pagination.items, many=True)
|
||||||
|
print(f"NOTIFICATIONS AFTER FORMATTING {notifications}")
|
||||||
# We try and get the next page of results to work out if we need provide a pagination link to the next page
|
# We try and get the next page of results to work out if we need provide a pagination link to the next page
|
||||||
# in our response if it exists. Note, this could be done instead by changing `count_pages` in the previous
|
# in our response if it exists. Note, this could be done instead by changing `count_pages` in the previous
|
||||||
# call to be True which will enable us to use Flask-Sqlalchemy to tell if there is a next page of results but
|
# call to be True which will enable us to use Flask-Sqlalchemy to tell if there is a next page of results but
|
||||||
@@ -429,7 +432,7 @@ def get_all_notifications_for_service(service_id):
|
|||||||
|
|
||||||
@service_blueprint.route('/<uuid:service_id>/notifications/<uuid:notification_id>', methods=['GET'])
|
@service_blueprint.route('/<uuid:service_id>/notifications/<uuid:notification_id>', methods=['GET'])
|
||||||
def get_notification_for_service(service_id, notification_id):
|
def get_notification_for_service(service_id, notification_id):
|
||||||
|
print(f"ENTER GET_NOTIFICATION_FOR_SERVICE")
|
||||||
notification = notifications_dao.get_notification_with_personalisation(
|
notification = notifications_dao.get_notification_with_personalisation(
|
||||||
service_id,
|
service_id,
|
||||||
notification_id,
|
notification_id,
|
||||||
|
|||||||
Reference in New Issue
Block a user