diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 73a150f8..22bbdc68 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,6 +15,9 @@ Unreleased ---------- ========================= +[9.4.1] - 2024-10-03 +--------------------- + * fix: Added guard against empty data in leaderboard queries. [9.4.0] - 2024-09-30 --------------------- diff --git a/enterprise_data/__init__.py b/enterprise_data/__init__.py index 108158cb..2f34ed19 100644 --- a/enterprise_data/__init__.py +++ b/enterprise_data/__init__.py @@ -2,4 +2,4 @@ Enterprise data api application. This Django app exposes API endpoints used by enterprises. """ -__version__ = "9.4.0" +__version__ = "9.4.1" diff --git a/enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py b/enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py index bd33aca3..98564424 100644 --- a/enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py +++ b/enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py @@ -235,6 +235,10 @@ def get_all_leaderboard_data( limit=limit, offset=offset, ) + # If there is no data, no need to proceed. + if not engagement_data: + return [] + engagement_data_dict = {engagement['email']: engagement for engagement in engagement_data} completion_data = self._get_completion_data_for_leaderboard_query( enterprise_customer_uuid=enterprise_customer_uuid,