Badges : texte libre saisi dans l'éditeur, champs ramenés dans le badge

Texte libre commun à tous les badges, saisi dans l'éditeur
(BadgeField.text, migration 0025) ; le « Texte du badge » de la fiche le
remplace pour un bénévole. Champs ramenés à l'intérieur du badge et champ
sélectionné au premier plan : la photo restait bloquée hors d'un badge
plus étroit que le CR80 (bornes de glisser-déposer négatives).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AdamThomas
2026-10-27 18:30:34 +01:00
co-authored by Claude Opus 5.5
parent 6892e0307d
commit cfed76c239
11 changed files with 134 additions and 22 deletions
+13
View File
@@ -111,3 +111,16 @@ def test_field_text_free_text_is_the_volunteer_badge_text():
assert _field_text(field, with_text, {}, set()) == "Accès backstage"
assert _field_text(field, without, {}, set()) == ""
def test_field_text_free_text_falls_back_to_the_common_editor_text():
field = BadgeField(
edition_id=uuid.uuid4(), field_type=BadgeFieldType.FREE_TEXT,
x_mm=0, y_mm=0, width_mm=10, height_mm=10, font_size=8, color="#000000",
text="Staff 2026",
)
own = _volunteer(first_name="Alex", last_name="Martin", badge_text="Accès backstage")
other = _volunteer(first_name="Sam", last_name="Nuit")
assert _field_text(field, own, {}, set()) == "Accès backstage"
assert _field_text(field, other, {}, set()) == "Staff 2026"