diff --git a/admin/api/settings.go b/admin/api/settings.go index 91faf2f2..a5767c99 100644 --- a/admin/api/settings.go +++ b/admin/api/settings.go @@ -44,10 +44,18 @@ func saveSettings(_ httprouter.Params, body []byte) (interface{}, error) { if err := settings.SaveSettings(path.Join(settings.SettingsDir, settings.SettingsFile), config); err != nil { return nil, err } else { + ApplySettings(config) return config, err } } +func ApplySettings(config settings.FICSettings) { + fic.PartialValidation = config.PartialValidation + fic.UnlockedChallenges = !config.EnableExerciceDepend + fic.FirstBlood = config.FirstBlood + fic.SubmissionCostBase = config.SubmissionCostBase +} + func reset(_ httprouter.Params, body []byte) (interface{}, error) { var m map[string]string if err := json.Unmarshal(body, &m); err != nil { diff --git a/admin/main.go b/admin/main.go index 4804b7eb..3b23a70b 100644 --- a/admin/main.go +++ b/admin/main.go @@ -177,6 +177,10 @@ func main() { }); err != nil { log.Fatal("Unable to initialize settings.json:", err) } + } else if config, err := settings.ReadSettings(path.Join(settings.SettingsDir, settings.SettingsFile)); err != nil { + log.Fatal("Unable to read settings.json:", err) + } else { + api.ApplySettings(config) } // Database connection