Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m39s
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
|
|
|
import json
|
|
|
|
from odoo import models
|
|
|
|
|
|
class SurveyUserInput(models.Model):
|
|
_inherit = "survey.user_input"
|
|
|
|
def save_lines(self, question, answer, comment=None):
|
|
if question.question_type == "file":
|
|
old_answers = self.env["survey.user_input.line"].search([
|
|
("user_input_id", "=", self.id),
|
|
("question_id", "=", question.id),
|
|
])
|
|
vals = {
|
|
"user_input_id": self.id,
|
|
"question_id": question.id,
|
|
"skipped": False,
|
|
"answer_type": "file",
|
|
}
|
|
if answer:
|
|
file_data = json.loads(answer)
|
|
vals["value_file"] = file_data.get("data")
|
|
vals["value_file_fname"] = file_data.get("name")
|
|
else:
|
|
vals.update(answer_type=None, skipped=True)
|
|
if old_answers:
|
|
old_answers.write(vals)
|
|
else:
|
|
self.env["survey.user_input.line"].create(vals)
|
|
else:
|
|
return super().save_lines(question, answer, comment=comment)
|