Navigation: Fixed double settings menus (#18349)

This commit is contained in:
Torkel Ödegaard
2019-08-02 14:02:59 +02:00
committed by Leonard Gram
parent 89a4f30eab
commit f3fb178efa
+26 -71
View File
@@ -242,92 +242,68 @@ func (hs *HTTPServer) setIndexViewData(c *m.ReqContext) (*dtos.IndexViewData, er
} }
} }
if c.IsGrafanaAdmin || c.OrgRole == m.ROLE_ADMIN { configNodes := []*dtos.NavLink{}
cfgNode := &dtos.NavLink{
Id: "cfg", if c.OrgRole == m.ROLE_ADMIN {
Text: "Configuration", configNodes = append(configNodes, &dtos.NavLink{
SubTitle: "Organization: " + c.OrgName,
Icon: "gicon gicon-cog",
Url: setting.AppSubUrl + "/datasources",
Children: []*dtos.NavLink{
{
Text: "Data Sources", Text: "Data Sources",
Icon: "gicon gicon-datasources", Icon: "gicon gicon-datasources",
Description: "Add and configure data sources", Description: "Add and configure data sources",
Id: "datasources", Id: "datasources",
Url: setting.AppSubUrl + "/datasources", Url: setting.AppSubUrl + "/datasources",
}, })
{ configNodes = append(configNodes, &dtos.NavLink{
Text: "Users", Text: "Users",
Id: "users", Id: "users",
Description: "Manage org members", Description: "Manage org members",
Icon: "gicon gicon-user", Icon: "gicon gicon-user",
Url: setting.AppSubUrl + "/org/users", Url: setting.AppSubUrl + "/org/users",
}, })
{ }
if c.OrgRole == m.ROLE_ADMIN || hs.Cfg.EditorsCanAdmin {
configNodes = append(configNodes, &dtos.NavLink{
Text: "Teams", Text: "Teams",
Id: "teams", Id: "teams",
Description: "Manage org groups", Description: "Manage org groups",
Icon: "gicon gicon-team", Icon: "gicon gicon-team",
Url: setting.AppSubUrl + "/org/teams", Url: setting.AppSubUrl + "/org/teams",
}, })
{ }
configNodes = append(configNodes, &dtos.NavLink{
Text: "Plugins", Text: "Plugins",
Id: "plugins", Id: "plugins",
Description: "View and configure plugins", Description: "View and configure plugins",
Icon: "gicon gicon-plugins", Icon: "gicon gicon-plugins",
Url: setting.AppSubUrl + "/plugins", Url: setting.AppSubUrl + "/plugins",
}, })
{
if c.OrgRole == m.ROLE_ADMIN {
configNodes = append(configNodes, &dtos.NavLink{
Text: "Preferences", Text: "Preferences",
Id: "org-settings", Id: "org-settings",
Description: "Organization preferences", Description: "Organization preferences",
Icon: "gicon gicon-preferences", Icon: "gicon gicon-preferences",
Url: setting.AppSubUrl + "/org", Url: setting.AppSubUrl + "/org",
}, })
configNodes = append(configNodes, &dtos.NavLink{
{
Text: "API Keys", Text: "API Keys",
Id: "apikeys", Id: "apikeys",
Description: "Create & manage API keys", Description: "Create & manage API keys",
Icon: "gicon gicon-apikeys", Icon: "gicon gicon-apikeys",
Url: setting.AppSubUrl + "/org/apikeys", Url: setting.AppSubUrl + "/org/apikeys",
}, })
},
} }
if c.OrgRole != m.ROLE_ADMIN { data.NavTree = append(data.NavTree, &dtos.NavLink{
cfgNode = &dtos.NavLink{
Id: "cfg", Id: "cfg",
Text: "Configuration", Text: "Configuration",
SubTitle: "Organization: " + c.OrgName, SubTitle: "Organization: " + c.OrgName,
Icon: "gicon gicon-cog", Icon: "gicon gicon-cog",
Url: setting.AppSubUrl + "/admin/users", Url: configNodes[0].Url,
Children: make([]*dtos.NavLink, 0), Children: configNodes,
} })
}
data.NavTree = append(data.NavTree, cfgNode)
} else {
cfgNode := &dtos.NavLink{
Id: "cfg",
Text: "Configuration",
SubTitle: "Organization: " + c.OrgName,
Icon: "gicon gicon-cog",
Url: setting.AppSubUrl + "/plugins",
Children: []*dtos.NavLink{
{
Text: "Plugins",
Id: "plugins",
Description: "View and configure plugins",
Icon: "gicon gicon-plugins",
Url: setting.AppSubUrl + "/plugins",
},
},
}
data.NavTree = append(data.NavTree, cfgNode)
}
if c.IsGrafanaAdmin { if c.IsGrafanaAdmin {
data.NavTree = append(data.NavTree, &dtos.NavLink{ data.NavTree = append(data.NavTree, &dtos.NavLink{
@@ -346,27 +322,6 @@ func (hs *HTTPServer) setIndexViewData(c *m.ReqContext) (*dtos.IndexViewData, er
}) })
} }
if (c.OrgRole == m.ROLE_EDITOR || c.OrgRole == m.ROLE_VIEWER) && hs.Cfg.EditorsCanAdmin {
cfgNode := &dtos.NavLink{
Id: "cfg",
Text: "Configuration",
SubTitle: "Organization: " + c.OrgName,
Icon: "gicon gicon-cog",
Url: setting.AppSubUrl + "/org/teams",
Children: []*dtos.NavLink{
{
Text: "Teams",
Id: "teams",
Description: "Manage org groups",
Icon: "gicon gicon-team",
Url: setting.AppSubUrl + "/org/teams",
},
},
}
data.NavTree = append(data.NavTree, cfgNode)
}
data.NavTree = append(data.NavTree, &dtos.NavLink{ data.NavTree = append(data.NavTree, &dtos.NavLink{
Text: "Help", Text: "Help",
SubTitle: fmt.Sprintf(`%s v%s (%s)`, setting.ApplicationName, setting.BuildVersion, setting.BuildCommit), SubTitle: fmt.Sprintf(`%s v%s (%s)`, setting.ApplicationName, setting.BuildVersion, setting.BuildCommit),