Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/webapp/polls/views.py
diff options
context:
space:
mode:
authorCode Raguet <ignacio.code@gmail.com>2013-09-05 00:28:09 (GMT)
committer Code Raguet <ignacio.code@gmail.com>2013-09-05 00:28:09 (GMT)
commit373564853caf633e50bb4ab022d910c8e6f0395d (patch)
treecc981549d478341475807df7c499b90f31c84591 /webapp/polls/views.py
parent8af004d7ce41f987eeb5b5e2c95b0acc31eda0da (diff)
add comments (for futher refactoring) on key parts of the core code
Diffstat (limited to 'webapp/polls/views.py')
-rw-r--r--webapp/polls/views.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/webapp/polls/views.py b/webapp/polls/views.py
index bcb11b3..4fc7ef3 100644
--- a/webapp/polls/views.py
+++ b/webapp/polls/views.py
@@ -360,10 +360,13 @@ class UnploadPollResultFormView(TemplateView):
files = dict(request.FILES.lists()).get('result', [])
+ # si se subió algún archivo:
if len(files):
+ # Esto hace todo
to_json = []
+ # genera una lista de dict python en to_json
for file in files:
json_dst = StringIO.StringIO()
for chunk in file.chunks():
@@ -372,6 +375,7 @@ class UnploadPollResultFormView(TemplateView):
to_json.append(json.load(json_dst, 'utf-8'))
file.seek(0)
+ # comprueba si los archivos ya existían y los excluye
poll_id = to_json[0].get("poll_id", None)
results_path = "%s/%s" % (settings.RESULT_BCK_ROOT, poll_id)
uploaded_files = []
@@ -387,9 +391,12 @@ class UnploadPollResultFormView(TemplateView):
", ".join(uploaded_files))
messages.add_message(self.request, messages.INFO, msg)
+ # si no hay más archivos, vuelve al usuario
if not len(files):
return self.render_to_response(context)
+ # revisa si el primero de los archivos es del usuario actual
+ # si no, vuelve al usuario
if len(to_json):
pollster_id = to_json[0].get("pollster_id", None)
if str(request.user.pollster.id) != pollster_id:
@@ -405,11 +412,13 @@ class UnploadPollResultFormView(TemplateView):
messages.add_message(request, messages.ERROR, msg)
return self.render_to_response(context)
+ # crea un poll result con todos los archivos implicados
poll_result = PollResult(to_json)
poll = poll_result.get_poll()
pollster = Pollster.get_by_user_id(request.user.id)
+ # valida que el pollster esté asignado a la poll en cuestión
assigned_polls_id = [
p.id for p in poll.assigned_to_pollster(pollster)]
@@ -439,6 +448,7 @@ class UnploadPollResultFormView(TemplateView):
%s' % ", ".join(processed_files)
)
+ # si no hay ningún archivo
else:
msg = u'Necesita seleccionar un archivo.'
messages.add_message(self.request, messages.INFO, msg)