diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py index 320b0659ef9..f576e971061 100644 --- a/addons/survey/controllers/main.py +++ b/addons/survey/controllers/main.py @@ -72,7 +72,7 @@ class Survey(http.Controller): if (survey_sudo.is_closed or not survey_sudo.active) and (not answer_sudo or not answer_sudo.test_entry): return 'survey_closed' - if not survey_sudo.page_ids and survey_sudo.questions_layout != 'page_per_question': + if (not survey_sudo.page_ids and survey_sudo.questions_layout == 'page_per_section') or not survey_sudo.question_ids: return 'survey_void' if answer_sudo and answer_sudo.state == 'done': diff --git a/addons/survey/models/survey_survey.py b/addons/survey/models/survey_survey.py index 335e175d439..9b52a86f2ed 100644 --- a/addons/survey/models/survey_survey.py +++ b/addons/survey/models/survey_survey.py @@ -278,7 +278,9 @@ class Survey(models.Model): """ survey = user_input.survey_id - if survey.questions_layout == 'page_per_question' and survey.questions_selection == 'random': + if survey.questions_layout == 'one_page': + return (None, False) + elif survey.questions_layout == 'page_per_question' and survey.questions_selection == 'random': pages_or_questions = list(enumerate( user_input.question_ids )) @@ -451,7 +453,7 @@ class Survey(models.Model): def action_send_survey(self): """ Open a window to compose an email, pre-filled with the survey message """ # Ensure that this survey has at least one page with at least one question. - if (not self.page_ids and self.questions_layout != 'page_per_question') or not self.question_ids: + if (not self.page_ids and self.questions_layout == 'page_per_section') or not self.question_ids: raise UserError(_('You cannot send an invitation for a survey that has no questions.')) if self.stage_id.closed: