Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCode 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)
commit9de28e2d9f802bc7970a0e2d283549304099f0a9 (patch)
tree7320f2130187951f25f59c01c25d95b08f0cf81d
parentd3764dbd7faf3d5974767e5cb1787fbee43dd47a (diff)
green light for Scenario "Upload one valid .poll_result file" (needs refactor)
-rw-r--r--webapp/polls/views.py62
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.'