diff options
author | Code 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) |
commit | a930008d561deed0343bf7380067868268cccfd8 (patch) | |
tree | d4143c3a3c88fd0224f55fdb01ccbecfe77fdec7 | |
parent | ea097a942ff823a0ad5550ea0ca3f23f440f7937 (diff) |
refactor UnploadPollResultFormView to use authored_by from PollResultFile
-rw-r--r-- | webapp/polls/views.py | 34 | ||||
-rw-r--r-- | webapp/webapp/features/upload_poll_result.feature | 2 |
2 files changed, 16 insertions, 20 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) diff --git a/webapp/webapp/features/upload_poll_result.feature b/webapp/webapp/features/upload_poll_result.feature index fea3933..8b458a5 100644 --- a/webapp/webapp/features/upload_poll_result.feature +++ b/webapp/webapp/features/upload_poll_result.feature @@ -50,7 +50,7 @@ Feature: Upload .poll_result files And "closed_poll" exists When I visit the "upload" page And I upload "other_owner.poll_result" - Then I should see a message that says "no pertence a una encuesta realizada por usted" + Then I should see a message that says "no pertencen a una encuesta realizada por usted" Scenario: Upload .poll_result with a poll not assigned to logged in pollster Given I am logged in as "Pollster" |