Skip to content

Conversation

@imperosol
Copy link
Member

Refactor des élections pour résoudres quelques problèmes :

  • Il restait un bout de JS dans election_detail.jinja
  • La page de détail des élections a une énorme problème de N+1 queries. J'ai un peu mitigé le problème, mais j'ai pas pu le résoudre. Pour réparer ça, il faudrait réécrire intégralement la vue.
  • Le vues CanCreateMixin ont été changées pour que la permission se fasse sans le mixin
  • Le calcul des résultats de l'élection a été refait pour demander moins de requêtes (il y en a toujours beaucoup, mais ça reste moins)

* </div>
* ```
*/
Alpine.directive(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je sais pas trop où, mais il y a un truc qui fait que tous les votes partent en vote blanc

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'arrive pas à reproduire. Chez moi ça marche. C'est peut-être le rebase.

from election.models import Candidature, Election, ElectionList, Role


class LimitedCheckboxField(forms.ModelMultipleChoiceField):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il devrait y avoir un widget lié à ce champ de formulaire pour s'assurer que le alpine que t'as fait est utilisé.
Ça permetrait aussi de passer l'id actuel du field directement dans le alpine et éviter les recherches d'éléments

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le problème, pour ça, c'est que ce champ de modèle est calibré spécialement pour les élections (ça se voit en regardant le message d'erreur, qui parle de candidats plutôt que de choix).
Or, si on met un widget, il ne sera pas utilisé, puisque le formulaire de la page des élections est presque intégralement créé manuellement, pour coller aux exigences d'affichage qu'on a.

Je pourrais tenter de rendre le truc plus générique, mais ça sera du code mort, et je serai même pas sûr que ça marche comme on veut.

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.

3 participants