feat(preferences): theme and home dashbord settings now work work on profile and org settings page
This commit is contained in:
@@ -9,9 +9,44 @@ import (
|
||||
|
||||
func init() {
|
||||
bus.AddHandler("sql", GetPreferences)
|
||||
bus.AddHandler("sql", GetPreferencesWithDefaults)
|
||||
bus.AddHandler("sql", SavePreferences)
|
||||
}
|
||||
|
||||
func GetPreferencesWithDefaults(query *m.GetPreferencesWithDefaultsQuery) error {
|
||||
|
||||
prefs := make([]*m.Preferences, 0)
|
||||
filter := "(org_id=? AND user_id=?) OR (org_id=? AND user_id=0)"
|
||||
err := x.Where(filter, query.OrgId, query.UserId, query.OrgId).
|
||||
OrderBy("user_id ASC").
|
||||
Find(&prefs)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
res := &m.Preferences{
|
||||
Theme: "dark",
|
||||
Timezone: "browser",
|
||||
HomeDashboardId: 0,
|
||||
}
|
||||
|
||||
for _, p := range prefs {
|
||||
if p.Theme != "" {
|
||||
res.Theme = p.Theme
|
||||
}
|
||||
if p.Timezone != "" {
|
||||
res.Timezone = p.Timezone
|
||||
}
|
||||
if p.HomeDashboardId != 0 {
|
||||
res.HomeDashboardId = p.HomeDashboardId
|
||||
}
|
||||
}
|
||||
|
||||
query.Result = res
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetPreferences(query *m.GetPreferencesQuery) error {
|
||||
|
||||
var prefs m.Preferences
|
||||
@@ -54,7 +89,7 @@ func SavePreferences(cmd *m.SavePreferencesCommand) error {
|
||||
prefs.Theme = cmd.Theme
|
||||
prefs.Updated = time.Now()
|
||||
prefs.Version += 1
|
||||
_, err = sess.Id(prefs.Id).Update(&prefs)
|
||||
_, err := sess.Id(prefs.Id).AllCols().Update(&prefs)
|
||||
return err
|
||||
}
|
||||
})
|
||||
|
||||
@@ -273,7 +273,6 @@ 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
|
||||
|
||||
Reference in New Issue
Block a user