diff --git a/app/assets/javascripts/activityChart.js b/app/assets/javascripts/activityChart.js index 62c1e6e3e..bf5e8073d 100644 --- a/app/assets/javascripts/activityChart.js +++ b/app/assets/javascripts/activityChart.js @@ -201,15 +201,22 @@ return; } - var url = type === 'service' ? `/daily_stats.json` : `/daily_stats_by_user.json`; + // get local timezone + var userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone; + var url = type === 'service' + ? `/daily_stats.json?timezone=${encodeURIComponent(userTimezone)}` + : `/daily_stats_by_user.json`; + return fetch(url) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } + console.log(response) return response.json(); }) .then(data => { + console.log(data) labels = []; deliveredData = []; failedData = []; diff --git a/app/main/views/dashboard.py b/app/main/views/dashboard.py index 8013acb9d..3c20dd3e0 100644 --- a/app/main/views/dashboard.py +++ b/app/main/views/dashboard.py @@ -99,8 +99,12 @@ def get_daily_stats(): service_id = session.get("service_id") date_range = get_stats_date_range() + # Get timezone from request (default to UTC if not provided) + user_timezone = request.args.get("timezone", "UTC") + print(f"Detected User Timezone test124: {user_timezone}") + stats = service_api_client.get_service_notification_statistics_by_day( - service_id, start_date=date_range["start_date"], days=date_range["days"] + service_id, start_date=date_range["start_date"], days=date_range["days"], timezone=user_timezone ) return jsonify(stats) diff --git a/app/notify_client/service_api_client.py b/app/notify_client/service_api_client.py index 0229fee3d..a5d8918ec 100644 --- a/app/notify_client/service_api_client.py +++ b/app/notify_client/service_api_client.py @@ -45,13 +45,13 @@ class ServiceAPIClient(NotifyAdminAPIClient): )["data"] def get_service_notification_statistics_by_day( - self, service_id, start_date=None, days=None + self, service_id, start_date=None, days=None, timezone="UTC" ): if start_date is None: start_date = datetime.now().strftime("%Y-%m-%d") return self.get( - "/service/{0}/statistics/{1}/{2}".format(service_id, start_date, days), + "/service/{0}/statistics/{1}/{2}?timezone={3}".format(service_id, start_date, days, timezone), )["data"] def get_user_service_notification_statistics_by_day(