You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor: migration de l'entité Vote de Ting vers Doctrine (#2383) - #2414
Migre l'entité Vote (votes des visiteurs sur le CFP) de Ting vers Doctrine ORM, dans la continuité des autres migrations (#2383), en suivant le pattern posé par #2387. Aucun changement fonctionnel attendu : le dépôt, le listing administratif, l'affichage des votes sur une proposition et la notification Slack fonctionnent à l'identique.
Changes
Les votes des visiteurs sont désormais gérés par Doctrine ORM
Le dépôt des votes utilise le constructeur de requêtes de Doctrine DBAL au lieu de SQL brut
Suppression de l'ancien code d'accès à la base pour les votes
How to test
Sur un évènement CFP ouvert, déposer ou modifier un vote sur une proposition : le vote est enregistré, puis modifié sans doublon.
Vérifier la page de votes de l'évènement côté administration : votes groupés par proposition avec titre, note, login et commentaire.
Vérifier l'affichage des votes sur une proposition du CFP côté conférencier (moyenne et badge staff).
En l'état, je pense qu'elle ne peut pas être mergée, des usages Ting de la table des votes n'ont pas été migrés
La PR supprime AppBundle\Event\Model\Vote, donc les métadonnées Ting de afup_sessions_vote_github. Or le TalkRepository Ting continue de lire cette table en s'attendant à ce que Ting hydrate des objets vote. Sans métadonnées, l'Hydrator de Ting ignore ces colonnes.
TalkRepository::getTalksBySpeakerWithVotes() (l.86-111), appelé par Event/CFP/IndexAction.php:42.
Le HydratorRelational agrège votes vers setVotes(), mais aucun objet vote n'est plus construit. talk.votes dans event/cfp/home.html.twig:44 sera au mieux vide, au pire en erreur. Le conférencier ne voit plus les votes sur ses propositions.
TalkRepository::getAllTalksAndRatingsForUser() (l.142-153), appelé par Event/Vote/IndexAction.php:38.
La ligne 46 fait $session['asvg'] ?? clone $vote, mais asvg n'est plus jamais présent. Le formulaire n'est plus pré-rempli avec le vote et le commentaire déjà donnés par l'utilisateur.
@vgreb Merci pour la review, bien vu — les deux usages Ting restants de la table des votes m'avaient échappé. Corrigés dans mon dernier commit :
Votes sur la proposition côté conférencier (TalkRepository::getTalksBySpeakerWithVotes() / event/cfp/home.html.twig)
➡️ Suppression de la dépendance à l'hydratation Ting (HydratorRelational) : les votes sont récupérés via le nouveau dépôt Doctrine (VoteRepository::getVotesByEventGroupedBySession(), une seule requête pour la page) et passés au template list_votes.html.twig avec la même structure de données que getVotesByTalkWithUser() (moyenne, badge staff, commentaire préservés).
➡️ En bonus, TalkRepository::getTalksBySpeakerWithVotes() est supprimé au profit de getTalksBySpeaker() préexistant qu'on n'utilise qu'avec HydratorSingleObject — plus de jointure sur la table des votes dans TalkRepository.
Pré-remplissage du formulaire de vote (TalkRepository::getAllTalksAndRatingsForUser() / Event/Vote/IndexAction.php)
➡️ La colonne asvg hydratée par Ting n'existe plus, donc $session['asvg'] retournait toujours null. Les votes de l'utilisateur sont maintenant récupérés en une requête Doctrine (VoteRepository::getUserVotesByEvent()) et le formulaire retrouve son vote/commentaire pré-remplis via le même chemin que les nouveaux votes ($myUserVotes[$talk->getId()] ?? clone $vote).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Migre l'entité Vote (votes des visiteurs sur le CFP) de Ting vers Doctrine ORM, dans la continuité des autres migrations (#2383), en suivant le pattern posé par #2387. Aucun changement fonctionnel attendu : le dépôt, le listing administratif, l'affichage des votes sur une proposition et la notification Slack fonctionnent à l'identique.
Changes
How to test