From 6acc752bd92c135de98a98bd572af3176db94915 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sun, 16 Jul 2023 19:00:10 +0200 Subject: [PATCH] label flags: Increase allowed size --- admin/sync/exercice_keys.go | 8 ++++---- libfic/db.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/admin/sync/exercice_keys.go b/admin/sync/exercice_keys.go index b61658e0..2bafab41 100644 --- a/admin/sync/exercice_keys.go +++ b/admin/sync/exercice_keys.go @@ -127,10 +127,6 @@ func buildLabelFlag(exercice *fic.Exercice, flag ExerciceFlag, flagline int, exc errs = append(errs, NewFlagError(exercice, &flag, flagline, fmt.Errorf("choices cannot be defined."))) } - if len(flag.Label) > 255 { - errs = append(errs, NewFlagError(exercice, &flag, flagline, fmt.Errorf("label is too long (max 255 chars per label)."))) - } - f = &fic.FlagLabel{ Order: int8(flagline), Label: flag.Label, @@ -171,6 +167,10 @@ func buildKeyFlag(exercice *fic.Exercice, flag ExerciceFlag, flagline int, defau } flag.Label = prep + flag.Label + if len(flag.Label) > 255 { + errs = append(errs, NewFlagError(exercice, &flag, flagline, fmt.Errorf("label is too long (max 255 chars per label)."))) + } + if (flag.Type == "text" && !isFullGraphic(strings.Replace(raw, "\n", "", -1))) || (flag.Type != "text" && !isFullGraphic(raw)) { errs = append(errs, NewFlagError(exercice, &flag, flagline, fmt.Errorf("WARNING non-printable characters in flag, is this really expected?"))) } diff --git a/libfic/db.go b/libfic/db.go index e750cbbe..8eb3de41 100644 --- a/libfic/db.go +++ b/libfic/db.go @@ -222,7 +222,7 @@ CREATE TABLE IF NOT EXISTS exercice_flag_labels( id_label INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, id_exercice INTEGER NOT NULL, ordre TINYINT NOT NULL, - label VARCHAR(255) NOT NULL, + label TEXT NOT NULL, variant VARCHAR(255) NOT NULL, FOREIGN KEY(id_exercice) REFERENCES exercices(id_exercice) ) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;