diff options
| author | Thibault Delavallée <tde@odoo.com> | 2019-11-25 12:26:57 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2019-12-05 15:21:28 +0000 |
| commit | 2592e72f2cd80f09fb23b4b16f8eb92ba253ff67 (patch) | |
| tree | ed6af2529339fc37003f28384aab8499bde85aa0 /addons/survey/models/survey_user.py | |
| parent | 84bb9c748db26656d3ecd062183afe5f042dc569 (diff) | |
[REF] survey: globally rename survey.label model to survey.question.answer
PURPOSE
As new features are about to land in survey, notably live interactions [1]
and new survey building [2] performing a pre cleaning is necessary. In this
PR we clean survey models by: removing unnecessary fields, cleaning some code
and finally renaming models.
SPECIFICATIONS
In this commit we rename the long standing ``survey.label`` model. Indeed
a label is something before a question, like an input label. Labels in survey
are used for suggested answers and sometimes as rows for matrix answers.
After much thoughts we rename ``survey.label`` to ``survey.question.answer``.
It indicates this model holds answers. Moreover it is namespaced within the
``survey.question`` model name to avoid conflict with user input / user answer
model.
As model naming changes, some fields also evolve. In survey.question model
* ``labels_id`` is renamed to ``suggested_answer_ids`` to indicate it is
used to display suggested values to the user;
* ``labels_id_2`` is renamed to ``matrix_row_ids`` to indicate it is used
to generate the rows of the matrix-type question. A matrix is therefore
done using ``matrix_row_ids`` for rows and ``suggested_answer_ids`` for
columns which seems easier to understand;
In survey.question.answer (old survey.label) model
* ``question_id_2`` is renamed to ``matrix_question_id`` to ease its
understanding, notably that it is used for matrix questions;
LINKS
[0] Related to Task ID 2061901 (survey models cleaning and preparation)
[1] Task ID 1972640 (live interactions)
[2] Task ID 2119587 (new frontend for building surveys)
PR #40765
Diffstat (limited to 'addons/survey/models/survey_user.py')
| -rw-r--r-- | addons/survey/models/survey_user.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/addons/survey/models/survey_user.py b/addons/survey/models/survey_user.py index e535253605f..eb0a0127c12 100644 --- a/addons/survey/models/survey_user.py +++ b/addons/survey/models/survey_user.py @@ -54,7 +54,7 @@ class SurveyUserInput(models.Model): for user_input in self: total_possible_score = sum([ answer_score if answer_score > 0 else 0 - for answer_score in user_input.question_ids.mapped('labels_ids.answer_score') + for answer_score in user_input.question_ids.mapped('suggested_answer_ids.answer_score') ]) if total_possible_score == 0: @@ -196,8 +196,8 @@ class SurveyUserInputLine(models.Model): value_date = fields.Date('Date answer') value_datetime = fields.Datetime('Datetime answer') value_free_text = fields.Text('Free Text answer') - value_suggested = fields.Many2one('survey.label', string="Suggested answer") - value_suggested_row = fields.Many2one('survey.label', string="Row answer") + value_suggested = fields.Many2one('survey.question.answer', string="Suggested answer") + value_suggested_row = fields.Many2one('survey.question.answer', string="Row answer") answer_score = fields.Float('Score') answer_is_correct = fields.Boolean('Correct', compute='_compute_answer_is_correct') @@ -233,13 +233,13 @@ class SurveyUserInputLine(models.Model): for vals in vals_list: value_suggested = vals.get('value_suggested') if value_suggested: - vals.update({'answer_score': self.env['survey.label'].browse(int(value_suggested)).answer_score}) + vals.update({'answer_score': self.env['survey.question.answer'].browse(int(value_suggested)).answer_score}) return super(SurveyUserInputLine, self).create(vals_list) def write(self, vals): value_suggested = vals.get('value_suggested') if value_suggested: - vals.update({'answer_score': self.env['survey.label'].browse(int(value_suggested)).answer_score}) + vals.update({'answer_score': self.env['survey.question.answer'].browse(int(value_suggested)).answer_score}) return super(SurveyUserInputLine, self).write(vals) def _get_save_line_values(self, answer, answer_type): |
