23 lines
1.2 KiB
Python
23 lines
1.2 KiB
Python
# -*- 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
|