From 1c2bc40a95cdedd7dcd0ad2f047887ff7278c038 Mon Sep 17 00:00:00 2001 From: David Beguin Date: Thu, 23 Apr 2020 13:43:58 +0000 Subject: [PATCH] [FIX] survey: count answer as incorrect only if no correct answer in survey finish page graph Before this commit, when computing the result graph data in the survey finished page, a user answer for a question with no correct answer was counted twice, once as correct, once as incorrect, as : correct_answer == question_correct_answer == none After this commit, we count an answer as correct only if question has a correct answer. Task ID: 2176630 closes odoo/odoo#54755 X-original-commit: 74a00111908556bce10ea3a5e748f5a5c81f6a40 Signed-off-by: Thibault Delavallee (tde) --- addons/survey/models/survey_user.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/survey/models/survey_user.py b/addons/survey/models/survey_user.py index a9a8bc57b9f..4213e0b1662 100644 --- a/addons/survey/models/survey_user.py +++ b/addons/survey/models/survey_user.py @@ -360,7 +360,7 @@ class SurveyUserInput(models.Model): def _choice_question_answer_result(self, user_input_lines, question_correct_suggested_answers): correct_user_input_lines = user_input_lines.filtered(lambda line: line.answer_is_correct and not line.skipped).mapped('suggested_answer_id') incorrect_user_input_lines = user_input_lines.filtered(lambda line: not line.answer_is_correct and not line.skipped) - if correct_user_input_lines == question_correct_suggested_answers: + if question_correct_suggested_answers and correct_user_input_lines == question_correct_suggested_answers: return 'correct' elif correct_user_input_lines and correct_user_input_lines < question_correct_suggested_answers: return 'partial'