Theme can be optional: exercices can be standalone

This commit is contained in:
nemunaire 2024-03-12 10:12:40 +01:00
commit a0bc832910
8 changed files with 81 additions and 39 deletions

View file

@ -47,13 +47,19 @@ func treatOpeningHint(pathname string, team *fic.Team) {
} else if err = team.OpenHint(hint); err != nil && !fic.DBIsDuplicateKeyError(err) { // Skip DUPLICATE KEY errors
log.Printf("%s [ERR] Unable to open hint: %s\n", id, err)
} else {
// Write event
if lvl, err := exercice.GetLevel(); err != nil {
log.Printf("%s [WRN] %s\n", id, err)
} else if theme, err := fic.GetTheme(exercice.IdTheme); err != nil {
log.Printf("%s [WRN] %s\n", id, err)
} else if _, err = fic.NewEvent(fmt.Sprintf("L'équipe %s a dévoilé un indice pour le <strong>%d<sup>e</sup></strong> défi %s&#160;!", html.EscapeString(team.Name), lvl, theme.Name), "info"); err != nil {
log.Printf("%s [WRN] Unable to create event: %s\n", id, err)
if exercice.IdTheme == nil {
if _, err = fic.NewEvent(fmt.Sprintf("L'équipe %s a dévoilé un indice pour le défi %s&#160;!", html.EscapeString(team.Name), exercice.Title), "info"); err != nil {
log.Printf("%s [WRN] Unable to create event: %s\n", id, err)
}
} else {
// Write event
if lvl, err := exercice.GetLevel(); err != nil {
log.Printf("%s [WRN] %s\n", id, err)
} else if theme, err := fic.GetTheme(*exercice.IdTheme); err != nil {
log.Printf("%s [WRN] %s\n", id, err)
} else if _, err = fic.NewEvent(fmt.Sprintf("L'équipe %s a dévoilé un indice pour le <strong>%d<sup>e</sup></strong> défi %s&#160;!", html.EscapeString(team.Name), lvl, theme.Name), "info"); err != nil {
log.Printf("%s [WRN] Unable to create event: %s\n", id, err)
}
}
appendGenQueue(fic.GenStruct{Id: id, Type: fic.GenTeam, TeamId: team.Id})