From 98c849d4cc2ad9fc5221a65435c038f715f4b908 Mon Sep 17 00:00:00 2001 From: Will Browne Date: Mon, 31 May 2021 12:30:32 +0200 Subject: [PATCH] fix permissions + add link for admins (#34906) --- pkg/api/frontendsettings.go | 8 ++------ pkg/api/index.go | 5 +++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pkg/api/frontendsettings.go b/pkg/api/frontendsettings.go index 7a506233c97..5db3d272550 100644 --- a/pkg/api/frontendsettings.go +++ b/pkg/api/frontendsettings.go @@ -129,15 +129,11 @@ func (hs *HTTPServer) getFrontendSettingsMap(c *models.ReqContext) (map[string]i return nil, err } - hasPluginManagerApp := false pluginsToPreload := []string{} for _, app := range enabledPlugins.Apps { if app.Preload { pluginsToPreload = append(pluginsToPreload, app.Module) } - if app.Id == "grafana-plugin-admin-app" { - hasPluginManagerApp = true - } } dataSources, err := hs.getFSDataSources(c, enabledPlugins) @@ -248,8 +244,8 @@ func (hs *HTTPServer) getFrontendSettingsMap(c *models.ReqContext) (map[string]i "http2Enabled": hs.Cfg.Protocol == setting.HTTP2Scheme, "sentry": hs.Cfg.Sentry, "pluginCatalogURL": hs.Cfg.PluginCatalogURL, - "pluginAdminEnabled": c.IsGrafanaAdmin && hs.Cfg.PluginAdminEnabled && hasPluginManagerApp, - "pluginAdminExternalManageEnabled": hs.Cfg.PluginAdminExternalManageEnabled, + "pluginAdminEnabled": (c.IsGrafanaAdmin || hs.Cfg.PluginAdminExternalManageEnabled) && hs.Cfg.PluginAdminEnabled, + "pluginAdminExternalManageEnabled": hs.Cfg.PluginAdminEnabled && hs.Cfg.PluginAdminExternalManageEnabled, "expressionsEnabled": hs.Cfg.ExpressionsEnabled, "awsAllowedAuthProviders": hs.Cfg.AWSAllowedAuthProviders, "awsAssumeRoleEnabled": hs.Cfg.AWSAssumeRoleEnabled, diff --git a/pkg/api/index.go b/pkg/api/index.go index 6cca6079482..1c536164204 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -363,6 +363,11 @@ func (hs *HTTPServer) buildAdminNavLinks(c *models.ReqContext) []*dtos.NavLink { adminNavLinks = append(adminNavLinks, &dtos.NavLink{ Text: "Stats", Id: "server-stats", Url: hs.Cfg.AppSubURL + "/admin/stats", Icon: "graph-bar", }) + if hs.Cfg.PluginAdminEnabled { + adminNavLinks = append(adminNavLinks, &dtos.NavLink{ + Text: "Plugin catalog", Id: "plugin-catalog", Url: hs.Cfg.AppSubURL + "/a/grafana-plugin-admin-app", Icon: "plug", + }) + } } if hs.Cfg.LDAPEnabled && hasAccess(ac.ReqGrafanaAdmin, ac.ActionLDAPStatusRead) {