[IMP] survey_event_registration_generation:

New type of question : multiple event products
This commit is contained in:
clementthomas
2023-10-24 10:57:55 +02:00
parent d5a834f3c9
commit 2690d69696
6 changed files with 85 additions and 30 deletions

View File

@@ -53,6 +53,8 @@ class SurveyUserInput(models.Model):
])
if question.question_type == 'event_product':
self._save_event_product(question, old_answers, answer)
elif question.question_type == 'multiple_event_products':
self._save_multiple_event_products(question, old_answers, answer)
elif question.question_type == 'event':
self._save_event(question, old_answers, answer)
else:
@@ -74,6 +76,25 @@ class SurveyUserInput(models.Model):
else:
return self.env['survey.user_input.line'].create(vals)
def _save_multiple_event_products(self, question, old_answers, answer):
"""
Save multiple event products to user_input.line
"""
vals = self._get_line_answer_values(question, answer, question.question_type)
if 'value_multiple_event_products' in vals:
if isinstance(vals['value_multiple_event_products'], str) and vals['value_multiple_event_products'].isnumeric():
vals['value_multiple_event_products'] = [int(vals['value_multiple_event_products'])]
elif type(vals['value_multiple_event_products']) == list:
vals['value_multiple_event_products'] = [int(product_id) for product_id in vals['value_multiple_event_products']]
else:
vals['value_multiple_event_products'] = None
if old_answers:
old_answers.write(vals)
return old_answers
else:
return self.env['survey.user_input.line'].create(vals)
def _save_event(self, question, old_answers, answer):
"""
Save event to user_input.line