diff --git a/addons/survey/models/survey_question.py b/addons/survey/models/survey_question.py index 222aa29779c..44de17b052e 100644 --- a/addons/survey/models/survey_question.py +++ b/addons/survey/models/survey_question.py @@ -124,7 +124,7 @@ class SurveyQuestion(models.Model): validation_max_date = fields.Date('Maximum Date') validation_min_datetime = fields.Datetime('Minimum Datetime') validation_max_datetime = fields.Datetime('Maximum Datetime') - validation_error_msg = fields.Char('Validation Error message', translate=True) + validation_error_msg = fields.Char('Validation Error', translate=True) constr_mandatory = fields.Boolean('Mandatory Answer') constr_error_msg = fields.Char('Error message', translate=True) # answers @@ -312,6 +312,20 @@ class SurveyQuestion(models.Model): else: question.is_scored_question = False + @api.onchange('question_type', 'validation_required') + def _onchange_validation_parameters(self): + """Ensure no value stays set but not visible on form, + preventing saving (+consistency with question type).""" + self.validation_email = False + self.validation_length_min = 0 + self.validation_length_max = 0 + self.validation_min_date = False + self.validation_max_date = False + self.validation_min_datetime = False + self.validation_max_datetime = False + self.validation_min_float_value = 0 + self.validation_max_float_value = 0 + # ------------------------------------------------------------ # VALIDATION # ------------------------------------------------------------ diff --git a/addons/survey/static/src/scss/survey_question_views.scss b/addons/survey/static/src/scss/survey_question_views.scss index fca016908ef..6c25b808d2f 100644 --- a/addons/survey/static/src/scss/survey_question_views.scss +++ b/addons/survey/static/src/scss/survey_question_views.scss @@ -23,4 +23,11 @@ .o_preview_questions_choice { line-height: 1rem; } + + .o_survey_question_validation_parameters { + @extend .oe_inline; + > div, input.o_survey_question_validation_inline { + width: 45% !important; + } + } } diff --git a/addons/survey/views/survey_question_views.xml b/addons/survey/views/survey_question_views.xml index 94259f8951e..f20622fe996 100644 --- a/addons/survey/views/survey_question_views.xml +++ b/addons/survey/views/survey_question_views.xml @@ -19,7 +19,7 @@
@@ -115,12 +115,15 @@ ]}"> - - - + + + @@ -171,35 +174,50 @@ - - - - - - - - - - - + attrs="{'invisible': [('question_type', 'not in', ['char_box', 'numerical_box', 'date', 'datetime'])]}"/> +
Min/Max Limits
+
+ + + + + + + + + + + +
+ placeholder="Displayed when the answer entered is not valid."/> - - + attrs="{'invisible': [('question_type', 'not in', ['text_box', 'char_box', 'date', 'datetime', 'numerical_box'])]}" + placeholder="Help Participants know what to write"/> + +