* feat: introduce home page redirect if default dashboard
* style: clean up
* Apply suggestions from code review
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* chore(dashboard): remove obsolete setting import
* docs(config): add home_page description
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
(cherry picked from commit bd74953f0d)
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
This commit is contained in:
co-authored by
Jack Westbrook
parent
4f542d69db
commit
7354150b79
@@ -304,6 +304,9 @@ password_hint = password
|
||||
# Default UI theme ("dark" or "light")
|
||||
default_theme = dark
|
||||
|
||||
# Path to a custom home page. Users are only redirected to this if the default home dashboard is used. It should match a frontend route and contain a leading slash.
|
||||
home_page =
|
||||
|
||||
# External user management
|
||||
external_manage_link_url =
|
||||
external_manage_link_name =
|
||||
|
||||
@@ -304,6 +304,9 @@
|
||||
# Default UI theme ("dark" or "light")
|
||||
;default_theme = dark
|
||||
|
||||
# Path to a custom home page. Users are only redirected to this if the default home dashboard is used. It should match a frontend route and contain a leading slash.
|
||||
; home_page =
|
||||
|
||||
# External user management, these options affect the organization users view
|
||||
;external_manage_link_url =
|
||||
;external_manage_link_name =
|
||||
|
||||
@@ -626,6 +626,10 @@ Text used as placeholder text on login page for password input.
|
||||
|
||||
Set the default UI theme: `dark` or `light`. Default is `dark`.
|
||||
|
||||
### home_page
|
||||
|
||||
Path to a custom home page. Users are only redirected to this if the default home dashboard is used. It should match a frontend route and contain a leading slash.
|
||||
|
||||
### External user management
|
||||
|
||||
If you manage users externally you can replace the user invite button for organizations with a link to an external site together with a description.
|
||||
|
||||
@@ -368,10 +368,17 @@ func dashboardSaveErrorToApiResponse(err error) response.Response {
|
||||
// GetHomeDashboard returns the home dashboard.
|
||||
func (hs *HTTPServer) GetHomeDashboard(c *models.ReqContext) response.Response {
|
||||
prefsQuery := models.GetPreferencesWithDefaultsQuery{User: c.SignedInUser}
|
||||
homePage := hs.Cfg.HomePage
|
||||
|
||||
if err := hs.Bus.Dispatch(&prefsQuery); err != nil {
|
||||
return response.Error(500, "Failed to get preferences", err)
|
||||
}
|
||||
|
||||
if prefsQuery.Result.HomeDashboardId == 0 && len(homePage) > 0 {
|
||||
homePageRedirect := dtos.DashboardRedirect{RedirectUri: homePage}
|
||||
return response.JSON(200, &homePageRedirect)
|
||||
}
|
||||
|
||||
if prefsQuery.Result.HomeDashboardId != 0 {
|
||||
slugQuery := models.GetDashboardRefByIdQuery{Id: prefsQuery.Result.HomeDashboardId}
|
||||
err := hs.Bus.Dispatch(&slugQuery)
|
||||
|
||||
@@ -353,6 +353,7 @@ type Cfg struct {
|
||||
Quota QuotaSettings
|
||||
|
||||
DefaultTheme string
|
||||
HomePage string
|
||||
|
||||
AutoAssignOrg bool
|
||||
AutoAssignOrgId int
|
||||
@@ -1224,6 +1225,7 @@ func readUserSettings(iniFile *ini.File, cfg *Cfg) error {
|
||||
LoginHint = valueAsString(users, "login_hint", "")
|
||||
PasswordHint = valueAsString(users, "password_hint", "")
|
||||
cfg.DefaultTheme = valueAsString(users, "default_theme", "")
|
||||
cfg.HomePage = valueAsString(users, "home_page", "")
|
||||
ExternalUserMngLinkUrl = valueAsString(users, "external_manage_link_url", "")
|
||||
ExternalUserMngLinkName = valueAsString(users, "external_manage_link_name", "")
|
||||
ExternalUserMngInfo = valueAsString(users, "external_manage_info", "")
|
||||
|
||||
Reference in New Issue
Block a user