From 307c207a24fcb10cb0b35f04fa4ee2a631a0240f Mon Sep 17 00:00:00 2001 From: Yuriy Tseretyan Date: Wed, 25 May 2022 12:13:49 -0400 Subject: [PATCH] show notification tab only to editor (#49624) --- pkg/api/index.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkg/api/index.go b/pkg/api/index.go index 5646c06027d..fa411a50697 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -242,7 +242,7 @@ func (hs *HTTPServer) getNavTree(c *models.ReqContext, hasEditPerm bool, prefs * uaVisibleForOrg := hs.Cfg.UnifiedAlerting.IsEnabled() && !uaIsDisabledForOrg if setting.AlertingEnabled != nil && *setting.AlertingEnabled { - navTree = append(navTree, hs.buildLegacyAlertNavLinks()...) + navTree = append(navTree, hs.buildLegacyAlertNavLinks(c)...) } else if uaVisibleForOrg { navTree = append(navTree, hs.buildAlertNavLinks(c)...) } @@ -512,15 +512,18 @@ func (hs *HTTPServer) buildDashboardNavLinks(c *models.ReqContext, hasEditPerm b return dashboardChildNavs } -func (hs *HTTPServer) buildLegacyAlertNavLinks() []*dtos.NavLink { +func (hs *HTTPServer) buildLegacyAlertNavLinks(c *models.ReqContext) []*dtos.NavLink { var alertChildNavs []*dtos.NavLink alertChildNavs = append(alertChildNavs, &dtos.NavLink{ Text: "Alert rules", Id: "alert-list", Url: hs.Cfg.AppSubURL + "/alerting/list", Icon: "list-ul", }) - alertChildNavs = append(alertChildNavs, &dtos.NavLink{ - Text: "Notification channels", Id: "channels", Url: hs.Cfg.AppSubURL + "/alerting/notifications", - Icon: "comment-alt-share", - }) + + if c.HasRole(models.ROLE_EDITOR) { + alertChildNavs = append(alertChildNavs, &dtos.NavLink{ + Text: "Notification channels", Id: "channels", Url: hs.Cfg.AppSubURL + "/alerting/notifications", + Icon: "comment-alt-share", + }) + } return []*dtos.NavLink{ {