Commit fedc68dd by Alexander Kryklia

simplified workaround

parent d1f13bf9
...@@ -71,14 +71,12 @@ class PollModule(XModule): ...@@ -71,14 +71,12 @@ class PollModule(XModule):
Returns: Returns:
dict dict
""" """
if dispatch in self.poll_answers and not self.voted: if dispatch in self.poll_answers: # and not self.voted:
tmp = {} d = self.poll_answers
for key in self.poll_answers: d[dispatch] += 1
tmp[key] = self.poll_answers[key]
tmp[dispatch] += 1
self.voted = True self.voted = True
self.poll_answer = dispatch self.poll_answer = dispatch
self.poll_answers = tmp self.poll_answers = d
return json.dumps({'poll_answers': self.poll_answers, return json.dumps({'poll_answers': self.poll_answers,
'total': sum(self.poll_answers.values()), 'total': sum(self.poll_answers.values()),
'callback': {'objectName': 'Conditional'} 'callback': {'objectName': 'Conditional'}
...@@ -103,18 +101,17 @@ class PollModule(XModule): ...@@ -103,18 +101,17 @@ class PollModule(XModule):
xml_object_copy = deepcopy(self.xml_object) xml_object_copy = deepcopy(self.xml_object)
answers_to_json = {} answers_to_json = {}
#workaround #workaround
tmp={} d = self.poll_answers
for key in self.poll_answers: # Fill self.poll_answers, prepare data for template context.
tmp[key] = self.poll_answers[key]
for element_answer in xml_object_copy.findall('answer'): for element_answer in xml_object_copy.findall('answer'):
answer = element_answer.get('id', None) answer = element_answer.get('id', None)
if answer: if answer:
if answer not in tmp: if answer not in d:
tmp[answer] = 0 d[answer] = 0
answers_to_json[answer] = \ answers_to_json[answer] = \
cgi.escape(stringify_children(element_answer)) cgi.escape(stringify_children(element_answer))
xml_object_copy.remove(element_answer) xml_object_copy.remove(element_answer)
self.poll_answers = tmp self.poll_answers = d
return json.dumps({'answers': answers_to_json, return json.dumps({'answers': answers_to_json,
'question': cgi.escape(stringify_children(xml_object_copy)), 'question': cgi.escape(stringify_children(xml_object_copy)),
# to show answered poll after reload: # to show answered poll after reload:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment