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-10-03 20:41:01 (GMT)
committer Code Raguet <ignacio.code@gmail.com>2013-10-03 20:45:36 (GMT)
commita930008d561deed0343bf7380067868268cccfd8 (patch)
treed4143c3a3c88fd0224f55fdb01ccbecfe77fdec7 /webapp/polls/views.py
parentea097a942ff823a0ad5550ea0ca3f23f440f7937 (diff)
refactor UnploadPollResultFormView to use authored_by from PollResultFile
Diffstat (limited to 'webapp/polls/views.py')
-rw-r--r--webapp/polls/views.py34
1 files changed, 15 insertions, 19 deletions
diff --git a/webapp/polls/views.py b/webapp/polls/views.py
index a473e4c..05adaae 100644
--- a/webapp/polls/views.py
+++ b/webapp/polls/views.py
@@ -383,26 +383,22 @@ class UnploadPollResultFormView(TemplateView):
publicados: %s y no serán procesados.' % (", ".join(existing))
messages.add_message(self.request, messages.INFO, msg)
- # si se subió algún archivo:
+ not_authored_by_user = []
+ for file_ in news:
+ user = request.user
+ prf = PollResultFile(file_.temporary_file_path())
+ authored_by_user = prf.is_authored_by(user)
+ if authored_by_user is False:
+ not_authored_by_user.append(file_.name)
+
+ if len(not_authored_by_user):
+ msg = u'El sistema cree que estos archivos no pertencen a una \
+ encuesta realizada por usted: {0}'.format(
+ ", ".join(not_authored_by_user)
+ )
+ messages.add_message(request, messages.ERROR, msg)
+
if len(news):
- # Esto hace todo
-
- # 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:
- pollster_username = to_json[0].get(
- "pollster_username", None)
- if not pollster_username:
- pollster_username = "Desconocido!"
- msg = u'El sistema cree que este archivo resultado \
- no pertence a una encuesta realizada por usted. \
- Asegúrese de estar usando el mismo usuario que \
- utilizó para descargar este modelo de encuesta. \
- Usuario esperado: %s.' % pollster_username
- 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)