diff options
author | Code 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) |
commit | 373564853caf633e50bb4ab022d910c8e6f0395d (patch) | |
tree | cc981549d478341475807df7c499b90f31c84591 /webapp/polls/views.py | |
parent | 8af004d7ce41f987eeb5b5e2c95b0acc31eda0da (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.py | 10 |
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) |