diff --git a/survey_record_generation/models/survey_question.py b/survey_record_generation/models/survey_question.py
index 7e0f9ff..6767727 100644
--- a/survey_record_generation/models/survey_question.py
+++ b/survey_record_generation/models/survey_question.py
@@ -1,7 +1,8 @@
import logging
+import ast
-from odoo import api, fields, models, _
+from odoo import api, fields, models, _, Command
from odoo.exceptions import UserError
_logger = logging.getLogger(__name__)
@@ -11,10 +12,13 @@ class SurveyQuestion(models.Model):
_inherit = 'survey.question'
model_id = fields.Many2one('ir.model', string="Model")
- answer_values_type = fields.Selection([('no', 'No values'),('value','Value'),('record','Record')], string="Associate value to answer", default="no", required=True)
+ model_name = fields.Char(related="model_id.model")
+ fill_domain = fields.Char("Domain", default="[]")
+ answer_values_type = fields.Selection([('no', 'No values'),('value','Value'),('record','Record')], string="Associate value to answer", default="no", required=True)
@api.onchange('model_id')
def onchange_model_id(self):
+ self.fill_domain = "[]"
if self.model_id:
rec = self.env[self.model_id.model].search([], limit=1)
if not rec:
@@ -23,3 +27,21 @@ class SurveyQuestion(models.Model):
for answer in self.suggested_answer_ids:
answer.record_id = f"{self.model_id.model},{rec.id}"
+
+ def fill(self):
+ for question in self:
+ if question.model_id:
+ new_suggested_answer_ids = [Command.clear()]
+ record_model = question.model_id.model
+
+ if question.fill_domain:
+ domain = ast.literal_eval(question.fill_domain)
+ else:
+ domain = []
+
+ records = self.env[record_model].search(domain)
+
+ new_suggested_answer_ids += [Command.create({'value':record.display_name, 'record_id':f"{record_model},{record.id}"
+}) for record in records]
+ question.suggested_answer_ids = new_suggested_answer_ids
+
diff --git a/survey_record_generation/views/survey_question_views.xml b/survey_record_generation/views/survey_question_views.xml
index 5366994..992f49a 100644
--- a/survey_record_generation/views/survey_question_views.xml
+++ b/survey_record_generation/views/survey_question_views.xml
@@ -8,6 +8,13 @@
+
+
+
-
+ attrs="{'invisible':[('answer_values_type','!=','value')]}" />
+