Commit f03bf074 by Xavier Antoviaque

Allow tips to process multiple submissions for accepting/displaying

parent 5f8d9c03
......@@ -56,8 +56,8 @@ class MCQBlock(QuestionnaireAbstractBlock):
completed = True
tips_fragments = []
for tip in self.get_tips():
completed = completed and tip.is_completed(submission)
if tip.is_tip_displayed(submission):
completed = completed and tip.is_completed([submission])
if tip.is_tip_displayed([submission]):
tips_fragments.append(tip.render(submission))
formatted_tips = render_template('templates/html/tip_group.html', {
......@@ -75,13 +75,3 @@ class MCQBlock(QuestionnaireAbstractBlock):
}
log.debug(u'MCQ submission result: %s', result)
return result
def get_submission_display(self, submission):
"""
Get the human-readable version of a submission value
"""
for choice in self.custom_choices:
if choice.value == submission:
return choice.content
return submission
......@@ -101,3 +101,12 @@ class QuestionnaireAbstractBlock(LightChild):
if isinstance(child, TipBlock):
tips.append(child)
return tips
def get_submission_display(self, submission):
"""
Get the human-readable version of a submission value
"""
for choice in self.custom_choices:
if choice.value == submission:
return choice.content
return submission
......@@ -70,11 +70,20 @@ class TipBlock(LightChild):
}))
return self.xblock_container.fragment_text_rewriting(fragment)
def is_completed(self, submission):
return submission and submission not in self.reject_with_defaults
def is_tip_displayed(self, submission):
return submission in self.display_with_defaults
def is_completed(self, submissions):
if not submissions:
return False
for submission in submissions:
if submission in self.reject_with_defaults:
return False
return True
def is_tip_displayed(self, submissions):
for submission in submissions:
if submission in self.display_with_defaults:
return True
return False
@property
def display_with_defaults(self):
......
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