Public Dashboards: fix time settings store when updating (#51601)

* Public Dashboards: fix time settings store when updating
This commit is contained in:
Ezequiel Victorero 2022-06-30 18:30:01 -03:00 committed by GitHub
parent fa560d96b6
commit ab6a609c32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 6 deletions

View File

@ -125,7 +125,18 @@ func (d *DashboardStore) SavePublicDashboardConfig(ctx context.Context, cmd mode
// updates existing public dashboard configuration
func (d *DashboardStore) UpdatePublicDashboardConfig(ctx context.Context, cmd models.SavePublicDashboardConfigCommand) error {
err := d.sqlStore.WithTransactionalDbSession(ctx, func(sess *sqlstore.DBSession) error {
_, err := sess.ID(cmd.PublicDashboard.Uid).UseBool("is_enabled").Update(&cmd.PublicDashboard)
timeSettingsJSON, err := cmd.PublicDashboard.TimeSettings.MarshalJSON()
if err != nil {
return err
}
_, err = sess.Exec("UPDATE dashboard_public SET is_enabled = ?, time_settings = ?, updated_by = ?, updated_at = ? WHERE uid = ?",
cmd.PublicDashboard.IsEnabled,
string(timeSettingsJSON),
cmd.PublicDashboard.UpdatedBy,
cmd.PublicDashboard.UpdatedAt.UTC().Format("2006-01-02 15:04:05"),
cmd.PublicDashboard.Uid)
if err != nil {
return err
}

View File

@ -54,11 +54,7 @@ func (dr *DashboardServiceImpl) SavePublicDashboardConfig(ctx context.Context, d
// set default value for time settings
if dto.PublicDashboard.TimeSettings == nil {
json, err := simplejson.NewJson([]byte("{}"))
if err != nil {
return nil, err
}
dto.PublicDashboard.TimeSettings = json
dto.PublicDashboard.TimeSettings = simplejson.New()
}
if dto.PublicDashboard.Uid == "" {