From 5fcff1a4c74f80fe5c29cc259d43418b35088467 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Mon, 2 Nov 2020 16:12:22 +0100 Subject: [PATCH] Provisioning: Fixed problem with getting started panel being added to custom home dashboard (#28750) * Provisioning: Fixed problem with getting started panel being added to custom home dashboard * Fixed comment * Update pkg/api/dashboard.go Co-authored-by: Arve Knudsen Co-authored-by: Arve Knudsen --- pkg/api/dashboard.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/api/dashboard.go b/pkg/api/dashboard.go index 9189ffeaed1..5015c9ce3e7 100644 --- a/pkg/api/dashboard.go +++ b/pkg/api/dashboard.go @@ -356,14 +356,20 @@ func (hs *HTTPServer) GetHomeDashboard(c *models.ReqContext) Response { return Error(500, "Failed to load home dashboard", err) } - if c.HasUserRole(models.ROLE_ADMIN) && !c.HasHelpFlag(models.HelpFlagGettingStartedPanelDismissed) { - addGettingStartedPanelToHomeDashboard(dash.Dashboard) - } + hs.addGettingStartedPanelToHomeDashboard(c, dash.Dashboard) return JSON(200, &dash) } -func addGettingStartedPanelToHomeDashboard(dash *simplejson.Json) { +func (hs *HTTPServer) addGettingStartedPanelToHomeDashboard(c *models.ReqContext, dash *simplejson.Json) { + // We only add this getting started panel for Admins who have not dismissed it, + // and if a custom default home dashboard hasn't been configured + if !c.HasUserRole(models.ROLE_ADMIN) || + c.HasHelpFlag(models.HelpFlagGettingStartedPanelDismissed) || + hs.Cfg.DefaultHomeDashboardPath != "" { + return + } + panels := dash.Get("panels").MustArray() newpanel := simplejson.NewFromAny(map[string]interface{}{