diff --git a/admin/handlers/templates.go b/admin/handlers/templates.go index b683a543..e3af148e 100644 --- a/admin/handlers/templates.go +++ b/admin/handlers/templates.go @@ -926,19 +926,24 @@ func (h *HandlersAdmin) NodeHandler(w http.ResponseWriter, r *http.Request) { nodeEnv = e } } - // Get query packs for this environment - packs, err := h.Envs.NodePacksEntries([]byte(nodeEnv.Packs), node.Platform) - if err != nil { - h.Inc(metricAdminErr) - log.Printf("error getting packs: %v", err) - return - } - // Get the schedule for this environment - schedule, err := h.Envs.NodeStructSchedule([]byte(nodeEnv.Schedule), node.Platform) - if err != nil { - h.Inc(metricAdminErr) - log.Printf("error getting schedule: %v", err) - return + // If dashboard enabled, retrieve packs and schedule + dashboardEnabled := h.Settings.NodeDashboard() + var packs environments.PacksEntries + var schedule environments.ScheduleConf + if dashboardEnabled { + packs, err = h.Envs.NodePacksEntries([]byte(nodeEnv.Packs), node.Platform) + if err != nil { + h.Inc(metricAdminErr) + log.Printf("error getting packs: %v", err) + return + } + // Get the schedule for this environment + schedule, err = h.Envs.NodeStructSchedule([]byte(nodeEnv.Schedule), node.Platform) + if err != nil { + h.Inc(metricAdminErr) + log.Printf("error getting schedule: %v", err) + return + } } // Prepare template data templateData := NodeTemplateData{ @@ -949,7 +954,7 @@ func (h *HandlersAdmin) NodeHandler(w http.ResponseWriter, r *http.Request) { TagsForNode: tags, Environments: h.allowedEnvironments(ctx[sessions.CtxUser], envAll), Platforms: platforms, - Dashboard: h.Settings.NodeDashboard(), + Dashboard: dashboardEnabled, Packs: packs, Schedule: schedule, }