Moved dashboard theme option from the dashboard to a persisted user setting, #1458

This commit is contained in:
Torkel Ödegaard
2015-02-28 14:30:08 +01:00
parent 962b316bcf
commit 04ca85fe89
15 changed files with 56 additions and 35 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ func AdminGetUser(c *middleware.Context) {
return
}
result := m.UserDTO{
result := dtos.AdminUserListItem{
Name: query.Result.Name,
Email: query.Result.Email,
Login: query.Result.Login,
+1
View File
@@ -19,6 +19,7 @@ type CurrentUser struct {
Login string `json:"login"`
Email string `json:"email"`
Name string `json:"name"`
LightTheme bool `json:"lightTheme"`
OrgRole m.RoleType `json:"orgRole"`
OrgName string `json:"orgName"`
IsGrafanaAdmin bool `json:"isGrafanaAdmin"`
+7
View File
@@ -20,3 +20,10 @@ type AdminUpdateUserPasswordForm struct {
type AdminUpdateUserPermissionsForm struct {
IsGrafanaAdmin bool `json:"IsGrafanaAdmin" binding:"Required"`
}
type AdminUserListItem struct {
Email string `json:"email"`
Name string `json:"name"`
Login string `json:"login"`
IsGrafanaAdmin bool `json:"isGrafanaAdmin"`
}
+1
View File
@@ -17,6 +17,7 @@ func setIndexViewData(c *middleware.Context) error {
Login: c.Login,
Email: c.Email,
Name: c.Name,
LightTheme: c.Theme == "light",
OrgName: c.OrgName,
OrgRole: c.OrgRole,
GravatarUrl: dtos.GetGravatarUrl(c.Email),
+1 -1
View File
@@ -8,7 +8,7 @@ import (
)
func GetUser(c *middleware.Context) {
query := m.GetUserInfoQuery{UserId: c.UserId}
query := m.GetUserProfileQuery{UserId: c.UserId}
if err := bus.Dispatch(&query); err != nil {
c.JsonApiErr(500, "Failed to get user", err)
+6 -3
View File
@@ -48,6 +48,7 @@ type UpdateUserCommand struct {
Name string `json:"name"`
Email string `json:"email"`
Login string `json:"login"`
Theme string `json:"theme"`
UserId int64 `json:"-"`
}
@@ -91,9 +92,9 @@ type GetSignedInUserQuery struct {
Result *SignedInUser
}
type GetUserInfoQuery struct {
type GetUserProfileQuery struct {
UserId int64
Result UserDTO
Result UserProfileDTO
}
type SearchUsersQuery struct {
@@ -120,14 +121,16 @@ type SignedInUser struct {
Login string
Name string
Email string
Theme string
ApiKeyId int64
IsGrafanaAdmin bool
}
type UserDTO struct {
type UserProfileDTO struct {
Email string `json:"email"`
Name string `json:"name"`
Login string `json:"login"`
Theme string `json:"theme"`
IsGrafanaAdmin bool `json:"isGrafanaAdmin"`
}
+2 -2
View File
@@ -53,8 +53,8 @@ func TestAccountDataAccess(t *testing.T) {
ac2 := ac2cmd.Result
Convey("Should be able to read user info projection", func() {
query := m.GetUserInfoQuery{UserId: ac1.Id}
err = GetUserInfo(&query)
query := m.GetUserProfileQuery{UserId: ac1.Id}
err = GetUserProfile(&query)
So(err, ShouldBeNil)
So(query.Result.Email, ShouldEqual, "ac1@test.com")
+6 -3
View File
@@ -21,7 +21,7 @@ func init() {
bus.AddHandler("sql", ChangeUserPassword)
bus.AddHandler("sql", GetUserByLogin)
bus.AddHandler("sql", SetUsingOrg)
bus.AddHandler("sql", GetUserInfo)
bus.AddHandler("sql", GetUserProfile)
bus.AddHandler("sql", GetSignedInUser)
bus.AddHandler("sql", SearchUsers)
bus.AddHandler("sql", GetUserOrgList)
@@ -165,6 +165,7 @@ func UpdateUser(cmd *m.UpdateUserCommand) error {
Name: cmd.Name,
Email: cmd.Email,
Login: cmd.Login,
Theme: cmd.Theme,
Updated: time.Now(),
}
@@ -211,7 +212,7 @@ func SetUsingOrg(cmd *m.SetUsingOrgCommand) error {
})
}
func GetUserInfo(query *m.GetUserInfoQuery) error {
func GetUserProfile(query *m.GetUserProfileQuery) error {
var user m.User
has, err := x.Id(query.UserId).Get(&user)
@@ -221,10 +222,11 @@ func GetUserInfo(query *m.GetUserInfoQuery) error {
return m.ErrUserNotFound
}
query.Result = m.UserDTO{
query.Result = m.UserProfileDTO{
Name: user.Name,
Email: user.Email,
Login: user.Login,
Theme: user.Theme,
}
return err
@@ -247,6 +249,7 @@ func GetSignedInUser(query *m.GetSignedInUserQuery) error {
u.email as email,
u.login as login,
u.name as name,
u.theme as theme,
org.name as org_name,
org_user.role as org_role,
org.id as org_id