diff options
author | Code Raguet <ignacio.code@gmail.com> | 2013-09-04 15:15:23 (GMT) |
---|---|---|
committer | Code Raguet <ignacio.code@gmail.com> | 2013-09-04 16:30:02 (GMT) |
commit | 9de28e2d9f802bc7970a0e2d283549304099f0a9 (patch) | |
tree | 7320f2130187951f25f59c01c25d95b08f0cf81d | |
parent | d3764dbd7faf3d5974767e5cb1787fbee43dd47a (diff) |
green light for Scenario "Upload one valid .poll_result file" (needs refactor)
-rw-r--r-- | webapp/polls/views.py | 62 |
1 files changed, 21 insertions, 41 deletions
diff --git a/webapp/polls/views.py b/webapp/polls/views.py index 87fc4d8..b8efe96 100644 --- a/webapp/polls/views.py +++ b/webapp/polls/views.py @@ -23,7 +23,8 @@ from django.conf import settings from utils.forms import BadFormValidation from utils.data_structure import dict_merge -from polls.models import WIDGET_TYPES, Structure, Poll, PollResult +from polls.models import (WIDGET_TYPES, Structure, Poll, PollResult, + PollResultFile) from polls.forms import PollForm from pollster.models import Pollster @@ -409,46 +410,25 @@ class UnploadPollResultFormView(TemplateView): que no le fué asignada.' messages.add_message(self.request, messages.ERROR, msg) else: - if poll_result.is_valid(): - try: - poll_result_id = poll_result.save() - except Exception: - msg = u'Ocurrió un error, no se \ - guardaron los resultados.' - messages.add_message(self.request, messages.ERROR, msg) - else: - poll = poll_result.get_poll() - poll.add_result(poll_result_id) - - poll_id = to_json[0].get("poll_id", None) - results_path = "%s/%s" % ( - settings.RESULT_BCK_ROOT, poll_id) - try: - os.makedirs(results_path) - os.chmod(results_path, 0755) - except: - pass - - for file in files: - file_path = "%s/%s" % (results_path, file.name) - with open(file_path, 'wb+') as dst: - for chunk in file.chunks(): - dst.write(chunk) - dst.close() - - processed_files = [file.name for file in files] - messages.add_message( - self.request, - messages.SUCCESS, - u'Los resultados se guardaron con éxito.\ - Los siguientes archivos fueron procesados: \ - %s' % ", ".join(processed_files) - ) - - else: - context.update({'errors': poll_result.errors}) - - context.update({'poll_result': poll_result}) + # End validations + + uploaded_files = [ + (f.name, f.temporary_file_path()) for f in files + ] + for name, path in uploaded_files: + result_file = PollResultFile(path) + result_file.name = name + result_file.set_upload_timestamp("31/12/1999 23:59hs") + result_file.save() + + processed_files = [file.name for file in files] + messages.add_message( + self.request, + messages.SUCCESS, + u'Los resultados se guardaron con éxito.\ + Los siguientes archivos fueron procesados: \ + %s' % ", ".join(processed_files) + ) else: msg = u'Necesita seleccionar un archivo.' |