diff --git a/TODO b/TODO index 4f7ddc7..a4e6d66 100644 --- a/TODO +++ b/TODO @@ -32,7 +32,7 @@ [x] inclure un entête list-unsubscribe [x] présenter les résultats -[ ] présenter les émargements +[x] présenter les émargements Notes : - rejeter les pouvoirs invalides ne permet pas de lire tous les inscrits/mandats diff --git a/gvot/base/edit_handlers.py b/gvot/base/edit_handlers.py index 0097fd1..a0485ba 100644 --- a/gvot/base/edit_handlers.py +++ b/gvot/base/edit_handlers.py @@ -28,3 +28,26 @@ class ResultsPanel(EditHandler): }, ) ) + + +class AttendeesPanel(EditHandler): + template = "modeladmin/attendees.html" + + def render(self): + from .models import Pouvoir + + emargement = Pouvoir.objects.filter( + vote__page=self.instance + ).distinct() + participation = emargement.count() + expression = self.instance.vote_set.all().count() + return mark_safe( + render_to_string( + self.template, + { + 'expression': expression, + 'participation': participation, + 'emargement': emargement.values(), + }, + ) + ) diff --git a/gvot/base/models.py b/gvot/base/models.py index a4c767a..7b9f2e3 100644 --- a/gvot/base/models.py +++ b/gvot/base/models.py @@ -38,7 +38,7 @@ from wagtail.core.models import Page from wagtail.search import index from . import blocks, emails, validators -from .edit_handlers import ResultsPanel +from .edit_handlers import AttendeesPanel, ResultsPanel from .tapeforms import BigLabelTapeformMixin @@ -276,6 +276,7 @@ class Scrutin(RoutablePageMixin, AbstractEmailForm): promote_panels = Page.promote_panels settings_panels = Page.settings_panels + [FieldPanel('confirm_tpl')] results_panels = [ResultsPanel()] + attendees_panels = [AttendeesPanel()] edit_handler = TabbedInterface( [ @@ -285,6 +286,7 @@ class Scrutin(RoutablePageMixin, AbstractEmailForm): ObjectList( settings_panels, heading="Paramètres", classname='settings' ), + ObjectList(attendees_panels, heading="Émargements"), ObjectList(results_panels, heading="Résultats"), ] ) diff --git a/gvot/templates/modeladmin/attendees.html b/gvot/templates/modeladmin/attendees.html new file mode 100644 index 0000000..3b0de9a --- /dev/null +++ b/gvot/templates/modeladmin/attendees.html @@ -0,0 +1,32 @@ +{% load static %} +
Nom | +Prénom | +Collectif | +Pondération | +
---|---|---|---|
{{ pouvoir.prenom }} | +{{ pouvoir.nom }} | +{{ pouvoir.collectif}} | +{{ pouvoir.ponderation }} | +