diff --git a/decide/visualizer/templates/visualizer/visualizer.html b/decide/visualizer/templates/visualizer/visualizer.html index 0faed6bac3..a8f1a3c108 100644 --- a/decide/visualizer/templates/visualizer/visualizer.html +++ b/decide/visualizer/templates/visualizer/visualizer.html @@ -17,11 +17,32 @@
-

[[ voting.id ]] - [[ voting.name ]]

+
+

Título: [[voting.name]]

+
Estado: Votación no comenzada.
+
+ +
+
+

Título: [[voting.name]]

+
Estado: Votación en progreso.
+ +
-

Votación no comenzada

-

Votación en curso

-
+
+
Censo: {{stats_census_size}}
+
Porcentaje de participación: {{stats_participation_ratio}}
+
Número de votos: {{stats_voters_turnout}}
+
+
+

Gráfico

+ + +
+
+
+

Título: [[voting.name]]

+
Estado: Cerrada

Resultados:

@@ -41,9 +62,13 @@

Resultados:

-
+ + + + + {% endblock %} {% block extrabody %} @@ -62,5 +87,25 @@

Resultados:

} }) + + + {% endblock %} + + diff --git a/decide/visualizer/views.py b/decide/visualizer/views.py index 8fea64ecb2..f96183f52d 100644 --- a/decide/visualizer/views.py +++ b/decide/visualizer/views.py @@ -2,7 +2,8 @@ from django.views.generic import TemplateView from django.conf import settings from django.http import Http404 - +from census.models import Census +from store.models import Vote from base import mods @@ -14,9 +15,36 @@ def get_context_data(self, **kwargs): vid = kwargs.get('voting_id', 0) try: - r = mods.get('voting', params={'id': vid}) + r = mods.get('voting', params={'id':vid}) context['voting'] = json.dumps(r[0]) - except: + + if r[0]['end_date'] is None: + stats = {} + if(getEstadisticas('turnout', vid) != 0): + stats['census_size'] = getEstadisticas('census_size', vid) + stats['voters_turnout'] = getEstadisticas('turnout', vid) + stats['participation_ratio'] = round((stats['voters_turnout']/stats['census_size'])*100,2) + + for i,j in stats.items(): + context['stats_' + str(i)] = j + else: + stats['census_size'] = 0 + stats['voters_turnout'] = 0 + stats['participation_ratio'] = 0 + + for i,j in stats.items(): + context['stats_' + str(i)] = j + except Exception: raise Http404 return context + +def getEstadisticas(requerido, vid): + if (requerido=="census_size"): + return Census.objects.filter(voting_id=vid).count() + elif (requerido=="turnout"): + return Vote.objects.filter(voting_id=vid).count() + else: + return None + +