apply settings even if section doesn't exist

in response to issue #7. Not sure why this wasn't the original
behaviour, nor how I hadn't noticed it earlier
This commit is contained in:
Harvey Tindall 2020-09-23 17:20:48 +01:00
parent 903a61d0f2
commit 6b25215768
Signed by: hrfee
GPG Key ID: BBC65952848FB1A2
2 changed files with 14 additions and 2 deletions

7
api.go
View File

@ -950,8 +950,11 @@ func (app *appContext) ModifyConfig(gc *gin.Context) {
gc.BindJSON(&req)
tempConfig, _ := ini.Load(app.config_path)
for section, settings := range req {
_, err := tempConfig.GetSection(section)
if section != "restart-program" && err == nil {
if section != "restart-program" {
_, err := tempConfig.GetSection(section)
if err != nil {
tempConfig.NewSection(section)
}
for setting, value := range settings.(map[string]interface{}) {
tempConfig.Section(section).Key(setting).SetValue(value.(string))
}

View File

@ -678,6 +678,7 @@
"user_template",
"user_configuration",
"user_displayprefs",
"user_profiles",
"custom_css"
],
"meta": {
@ -732,6 +733,14 @@
"value": "",
"description": "Location of stored displayPreferences template (also used for homescreen layout) (json)"
},
"user_profiles": {
"name": "User Profiles",
"required": false,
"requires_restart": true,
"type": "text",
"value": "",
"description": "Location of stored user profiles (encompasses template and homescreen) (json)"
},
"custom_css": {
"name": "Custom CSS",
"required": false,