diff --git a/addons/survey/survey.py b/addons/survey/survey.py index 3065ba218b5..197ad2dcbb4 100644 --- a/addons/survey/survey.py +++ b/addons/survey/survey.py @@ -1066,8 +1066,31 @@ class survey_user_input_line(osv.osv): self.create(cr, uid, vals, context=context) return True + def save_line_multiple_choice(self, cr, uid, user_input_id, question, post, answer_tag, context=None): + vals = { + 'user_input_id': user_input_id, + 'question_id': question.id, + 'page_id': question.page_id.id, + 'survey_id': question.survey_id.id, + 'skipped': False + } + old_uil = self.search(cr, uid, [('user_input_id', '=', user_input_id), + ('survey_id', '=', question.survey_id.id), + ('question_id', '=', question.id)], + context=context) + if old_uil: + self.unlink(cr, uid, old_uil, context=context) + + ca = dict_keys_startswith(post, answer_tag) + if len(ca) > 0: + for a in ca: + vals.update({'answer_type': 'suggestion', 'value_suggested': ca[a]}) + self.create(cr, uid, vals, context=context) + else: + vals.update({'answer_type': None, 'skipped': True}) + self.create(cr, uid, vals, context=context) + return True - # def save_line_multiple_choice: def dict_keys_startswith(dictionary, string): '''Returns a dictionary containing the elements of whose keys start diff --git a/addons/survey/views/survey_views.xml b/addons/survey/views/survey_views.xml index cf226cd1f0d..f2042467e26 100644 --- a/addons/survey/views/survey_views.xml +++ b/addons/survey/views/survey_views.xml @@ -122,10 +122,10 @@
-