# -*- coding: utf-8 -*- from odoo import api, fields, models class SurveyQuestion(models.Model): _inherit = 'survey.question' scale_multiplier = fields.Float("Scale Multiplier", default=1.0, help="Multiply the scale value by this number for scoring.") @api.depends('question_type', 'scoring_type', 'answer_date', 'answer_datetime', 'answer_numerical_box', 'suggested_answer_ids.is_correct') def _compute_is_scored_question(self): super()._compute_is_scored_question() for question in self: if question.scoring_type == 'no_scoring': question.is_scored_question = False elif question.question_type == 'scale': # Allow is_scored_question to be True for scale if set by user # We don't want super() to force it to False. # Since super() set it to False, we might want to default it to True if it's an assessment? if question.survey_id.survey_type == 'assessment': question.is_scored_question = True elif question.question_type not in ['simple_choice', 'multiple_choice', 'date', 'datetime', 'numerical_box']: question.is_scored_question = False