From 22db40f7c9cb27f2ef7fa41837df00b06e253298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 7 Feb 2012 12:47:10 +0100 Subject: [PATCH] Fix on_change value of M2O and Reference fields The value format has been changed by the refactoring of changeset 0e4702844572. Now rec_name is set directly into the value of the record. issue2444 --- tryton/gui/window/view_form/model/record.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py index aa905e4973..50a7564a06 100644 --- a/tryton/gui/window/view_form/model/record.py +++ b/tryton/gui/window/view_form/model/record.py @@ -490,18 +490,11 @@ class Record(SignalEvent): if isinstance(self.group.fields[fieldname], fields.O2MField): later[fieldname] = value continue - if isinstance(self.group.fields[fieldname], fields.M2OField): - if fieldname + '.rec_name' in res: - value = (value, res[fieldname + '.rec_name']) - elif isinstance(self.group.fields[fieldname], - fields.ReferenceField): - if value: - ref_model, ref_id = value.split(',', 1) - if fieldname + '.rec_name' in res: - value = ref_model, (ref_id, - res[fieldname + '.rec_name']) - else: - value = ref_model, (ref_id, ref_id) + if isinstance(self.group.fields[fieldname], (fields.M2OField, + fields.ReferenceField)): + field_rec_name = fieldname + '.rec_name' + if field_rec_name in res: + self.value[field_rec_name] = res[field_rec_name] self.group.fields[fieldname].set_on_change(self, value) for fieldname, value in later.items(): # on change recursion checking is done only for x2many