From df15678455419a3ab00cfee1489b6701bf93e3c5 Mon Sep 17 00:00:00 2001 From: Alex Khomenko Date: Tue, 2 Jul 2024 14:15:23 +0300 Subject: [PATCH] Dashboard: Use preferred timezone on create (#89833) * Dashboard: Use preferred timezone on create * Add test --- .../serialization/buildNewDashboardSaveModel.test.ts | 10 ++++++++++ .../serialization/buildNewDashboardSaveModel.ts | 1 + 2 files changed, 11 insertions(+) diff --git a/public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.test.ts b/public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.test.ts index d7e2bb5ab91..520cc777009 100644 --- a/public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.test.ts +++ b/public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.test.ts @@ -44,6 +44,11 @@ jest.mock('@grafana/runtime', () => ({ featureToggles: { newDashboardWithFiltersAndGroupBy: false, }, + bootData: { + user: { + timezone: 'Africa/Abidjan', + }, + }, }, getDataSourceSrv: () => ({ get: (): Promise => { @@ -72,5 +77,10 @@ describe('buildNewDashboardSaveModel', () => { expect(result.dashboard.templating?.list?.[0].type).toBe('adhoc'); expect(result.dashboard.templating?.list?.[1].type).toBe('groupby'); }); + + it("should set the new dashboard's timezone to the user's timezone", async () => { + const result = await buildNewDashboardSaveModel(); + expect(result.dashboard.timezone).toEqual('Africa/Abidjan'); + }); }); }); diff --git a/public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.ts b/public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.ts index fad5422f15b..62bd1985f6d 100644 --- a/public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.ts +++ b/public/app/features/dashboard-scene/serialization/buildNewDashboardSaveModel.ts @@ -46,6 +46,7 @@ export async function buildNewDashboardSaveModel(urlFolderUid?: string): Promise uid: '', title: 'New dashboard', panels: [], + timezone: config.bootData.user?.timezone || defaultDashboard.timezone, }, };