Provisioning: Show in NavTree based on org role, not access control (#104599)

This commit is contained in:
Ryan McKinley
2025-04-30 10:06:44 +03:00
committed by GitHub
parent 645af8df33
commit 3a8575ea1b
2 changed files with 7 additions and 9 deletions

View File

@ -1,6 +1,7 @@
package navtreeimpl
import (
"github.com/grafana/grafana/pkg/apimachinery/identity"
"github.com/grafana/grafana/pkg/login/social"
ac "github.com/grafana/grafana/pkg/services/accesscontrol"
"github.com/grafana/grafana/pkg/services/accesscontrol/ssoutils"
@ -60,15 +61,15 @@ func (s *ServiceImpl) getAdminNode(c *contextmodel.ReqContext) (*navtree.NavLink
Url: s.cfg.AppSubURL + "/admin/migrate-to-cloud",
})
}
if hasAccess(ac.EvalPermission(ac.ActionSettingsRead, ac.ScopeSettingsAll)) {
provisioningNode := &navtree.NavLink{
if c.HasRole(identity.RoleAdmin) &&
(s.cfg.StackID == "" || // show OnPrem even when provisioning is disabled
s.features.IsEnabledGlobally(featuremgmt.FlagProvisioning)) {
configNodes = append(configNodes, &navtree.NavLink{
Text: "Provisioning",
Id: "provisioning",
SubTitle: "View and manage your provisioning connections",
Url: s.cfg.AppSubURL + "/admin/provisioning",
}
configNodes = append(configNodes, provisioningNode)
})
}
generalNode := &navtree.NavLink{