Compare commits
2 Commits
survey_rec
...
0c26ef9313
Author | SHA1 | Date | |
---|---|---|---|
0c26ef9313 | |||
853ed418bb |
@@ -33,7 +33,7 @@ class SurveyRecordCreationFieldValues(models.Model):
|
||||
|
||||
field_id = fields.Many2one(
|
||||
'ir.model.fields',
|
||||
domain="[('model_id','=',model_id),('readonly','=',False),('ttype','in',['char','selection','text','html','integer','float','date','datetime','many2one','many2many'])]",
|
||||
domain="[('model_id','=',model_id),('readonly','=',False),('ttype','in',['char','selection','text','html','integer','float','date','datetime','many2one','many2many', 'boolean'])]",
|
||||
ondelete="cascade")
|
||||
field_relation = fields.Char(related='field_id.relation')
|
||||
field_type = fields.Selection(related="field_id.ttype")
|
||||
@@ -58,6 +58,7 @@ class SurveyRecordCreationFieldValues(models.Model):
|
||||
fixed_value_float = fields.Float("Value")
|
||||
fixed_value_date = fields.Date("Value")
|
||||
fixed_value_datetime = fields.Datetime("Value")
|
||||
fixed_value_boolean = fields.Boolean("Value")
|
||||
|
||||
displayed_value = fields.Char("Value", compute="_compute_displayed_value")
|
||||
other_created_record_id = fields.Many2one("survey.record.creation", string="Other record", domain="[('survey_id','=',survey_id),('model_id.model','=',field_relation)]")
|
||||
|
@@ -63,7 +63,11 @@ class SurveyUserInput(models.Model):
|
||||
else:
|
||||
vals[field_value.field_id.name] = record_ids
|
||||
if field_value.question_id.answer_values_type == 'value':
|
||||
vals[field_value.field_id.name] = user_input_lines[0].suggested_answer_id.value_char
|
||||
if field_value.field_id.ttype == "boolean":
|
||||
boolean_value = user_input_lines[0].suggested_answer_id.value_char in [True, 1, "1", "True", "true", "Oui", "oui"]
|
||||
vals[field_value.field_id.name] = boolean_value
|
||||
else:
|
||||
vals[field_value.field_id.name] = user_input_lines[0].suggested_answer_id.value_char
|
||||
elif user_input_lines[0].answer_type: # if value not filled by user, answer_type not set
|
||||
vals[field_value.field_id.name] = user_input_lines[0][f"value_{user_input_lines[0].answer_type}"]
|
||||
else:
|
||||
|
@@ -1 +0,0 @@
|
||||
from . import test_survey_record_creation
|
@@ -1,48 +0,0 @@
|
||||
from odoo.addons.survey.tests.common import SurveyCase
|
||||
|
||||
|
||||
class TestSurveyRecordCreation(SurveyCase):
|
||||
def setUp(self):
|
||||
super(TestSurveyRecordCreation, self).setUp()
|
||||
|
||||
self.survey = self.env["survey.survey"].create({
|
||||
"title": "Test Survey",
|
||||
})
|
||||
|
||||
self.question_name = self._add_question(
|
||||
page=None,
|
||||
name="Name",
|
||||
qtype="char_box",
|
||||
survey_id=self.survey.id,
|
||||
sequence=1
|
||||
)
|
||||
|
||||
self.answer = self._add_answer(survey=self.survey, partner=False, email="jean@test.fr")
|
||||
self._add_answer_line(question=self.question_name, answer=self.answer, answer_value="Jean")
|
||||
|
||||
def test_record_is_created(self):
|
||||
self.model_id = self.env["ir.model"]._get("res.partner")
|
||||
self.survey_record_creation = self.env["survey.record.creation"].create(
|
||||
{
|
||||
"name": "Contact",
|
||||
"survey_id": self.survey.id,
|
||||
"model_id": self.model_id.id,
|
||||
}
|
||||
)
|
||||
name_field = self.env["ir.model.fields"].search([("model", "=", "res.partner"), ("name", "=", "name")])
|
||||
self.env["survey.record.creation.field.values"].create(
|
||||
{
|
||||
"survey_record_creation_id": self.survey_record_creation.id,
|
||||
"survey_id": self.survey.id,
|
||||
"model_id": self.model_id.id,
|
||||
"field_id": name_field.id,
|
||||
"value_origin": "question",
|
||||
"question_id": self.question_name.id
|
||||
}
|
||||
)
|
||||
self.answer._mark_done()
|
||||
partner = self.env["res.partner"].search(
|
||||
[("name", "=", "Jean")]
|
||||
)
|
||||
self.assertTrue(partner.name == "Jean")
|
||||
|
@@ -43,35 +43,39 @@
|
||||
<field name="displayed_value" invisible="1" />
|
||||
<field
|
||||
name="fixed_value_char"
|
||||
attrs="{'invisible':[('field_type','in',['selection','text','html','integer','float','date','datetime','many2one','many2many'])]}"
|
||||
attrs="{'invisible':[('field_type','!=','char')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_selection"
|
||||
attrs="{'invisible':[('field_type','in',['char','text','html','integer','float','date','datetime','many2one','many2many'])]}"
|
||||
attrs="{'invisible':[('field_type','!=','selection')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_text"
|
||||
attrs="{'invisible':[('field_type','in',['char','selection','html','integer','float','date','datetime','many2one','many2many'])]}"
|
||||
attrs="{'invisible':[('field_type','!=','text')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_html"
|
||||
attrs="{'invisible':[('field_type','in',['char','selection','text','integer','float','date','datetime','many2one','many2many'])]}"
|
||||
attrs="{'invisible':[('field_type','!=', 'html')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_integer"
|
||||
attrs="{'invisible':[('field_type','in',['char','selection','text','html','float','date','datetime','many2one','many2many'])]}"
|
||||
attrs="{'invisible':[('field_type','!=', 'integer')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_float"
|
||||
attrs="{'invisible':[('field_type','in',['char','selection','text','html','integer','date','datetime','many2one','many2many'])]}"
|
||||
attrs="{'invisible':[('field_type','!=', 'float')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_date"
|
||||
attrs="{'invisible':[('field_type','in',['char','selection','text','html','integer','float','datetime','many2one','many2many'])]}"
|
||||
attrs="{'invisible':[('field_type','!=', 'date')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_datetime"
|
||||
attrs="{'invisible':[('field_type','in',['char','selection','text','html','integer','float','date','many2one','many2many'])]}"
|
||||
attrs="{'invisible':[('field_type','!=', 'datetime')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_boolean"
|
||||
attrs="{'invisible':[('field_type','!=','boolean')]}"
|
||||
/>
|
||||
<field
|
||||
name="fixed_value_many2one"
|
||||
|
Reference in New Issue
Block a user