summaryrefslogtreecommitdiff
path: root/addons/survey/models/survey_user.py
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2019-11-25 12:26:57 +0000
committerThibault Delavallée <tde@odoo.com>2019-12-05 15:21:28 +0000
commit2592e72f2cd80f09fb23b4b16f8eb92ba253ff67 (patch)
treeed6af2529339fc37003f28384aab8499bde85aa0 /addons/survey/models/survey_user.py
parent84bb9c748db26656d3ecd062183afe5f042dc569 (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.py10
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):