wip [IMP] survey_record_generation : accept boolean fields #4

Merged
mondot merged 1 commits from survey_record_generation-show-boolean-fields-during-record-creation into 16.0 2025-09-17 10:33:35 +00:00
3 changed files with 19 additions and 10 deletions

View File

@@ -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)]")

View File

@@ -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:

View File

@@ -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"