From c19e798e544b21d4f1c5276bbd78fec6b9c9e3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 11 Aug 2012 11:50:29 +0200 Subject: [PATCH] Use recursive get_on_change_value call for one2many issue2727 review444001 --- tryton/gui/window/view_form/model/field.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index 535875a2ea..a06a4b05d7 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -579,7 +579,8 @@ class O2MField(CharField): return [] for record2 in record.value[self.name]: if not (record2.deleted or record2.removed): - result.append(record2.get_eval(check_load=check_load)) + result.append( + record2.get_on_change_value(check_load=check_load)) return result def set(self, record, value, modified=False): @@ -791,6 +792,15 @@ class M2MField(O2MField): record.signal('record-modified') record.signal('record-changed') + def get_on_change_value(self, record, check_load=True): + result = [] + if record.value.get(self.name) is None: + return [] + for record2 in record.value[self.name]: + if not (record2.deleted or record2.removed): + result.append(record2.get_eval(check_load=check_load)) + return result + class ReferenceField(CharField):