Skip to content

Infos speakers: affichage du besoin de défraiement voyage - #2382

Merged
stakovicz merged 1 commit into
afup:masterfrom
BySplashGm:feature/1974-bo-travel-refund-needed
Sep 2, 2026
Merged

Infos speakers: affichage du besoin de défraiement voyage#2382
stakovicz merged 1 commit into
afup:masterfrom
BySplashGm:feature/1974-bo-travel-refund-needed

Conversation

@BySplashGm

@BySplashGm BySplashGm commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Contexte

Depuis la PR #1882, un speaker peut cocher deux cases dans la section « Nous vous défrayons » de sa page :

Case Champ
« Je n'en n'ai pas besoin » Speaker::isTravelRefundNeeded() (inversé)
« Mon transport est sponsorisé » Speaker::isTravelRefundSponsored()

La page BO Infos speakers affichait déjà la seconde (badge travel dans la colonne « Sponsors ? »), mais pas la première. Un organisateur ne pouvait donc pas savoir quels speakers ne demandent aucun défraiement.

Modifications

Ajout d'une colonne « Défraiement voyage nécessaire ? » (oui / non, filtrable) dans templates/admin/event/speakers_management.html.twig, placée avant la colonne « Sponsors ? » pour regrouper les informations de défraiement.

La donnée était déjà disponible de bout en bout — aucune migration ni changement de modèle :

  • SpeakerRepository::getScheduledSpeakersByEvent() sélectionne déjà speaker.travel_refund_needed
  • le mapping hydrator travel_refund_neededtravelRefundNeeded existe déjà
  • travel_refund_needed est boolean NOT NULL DEFAULT true, donc la propriété PHP est un bool non-nullable : pas d'état N/A à gérer, contrairement aux autres colonnes booléennes du tableau

Choix de libellé

Reprendre littéralement « Je n'en n'ai pas besoin » aurait donné une colonne où « oui » signifie « ne veut pas être remboursé » : double négation, source d'erreur de lecture. Le libellé est donc formulé positivement.

Correction annexe

Le colspan de la ligne « Aucune information » passe de 13 à 15. Il était déjà faux avant ce changement : le tableau compte 15 colonnes réelles (14 nommées + la colonne d'actions), et la colonne « Microphone » ajoutée par #2204 avait porté la valeur à 13 sans rattraper le décalage existant.

Tests

Assertion ajoutée sur l'en-tête de colonne dans tests/behat/features/Admin/AdminInfosSpeakers.feature, scénario « Liste des speakers liés à un évènement ».

make test-functional

À noter : les fixtures ne renseignent pas travel_refund_needed, les speakers de seed prennent donc la valeur par défaut (oui). Pour vérifier le cas non en local, cocher la case sur la page speaker ou UPDATE afup_conferenciers SET travel_refund_needed = 0 WHERE conferencier_id = 1;.

Screenshots

image

Closes #1974

@BySplashGm
BySplashGm marked this pull request as ready for review September 1, 2026 15:16
@stakovicz
stakovicz merged commit 84d0267 into afup:master Sep 2, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Case à cocher "Je n’en n’ai pas besoin" dans le BO

3 participants