From 2156ce79da4d7f49be2bd28b7e807fa182476422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 2 Feb 2016 19:07:31 +0100 Subject: [PATCH] Set parent field only if signal is requested When set_on_change adds a record, we don't need to trigger the parent on_change, otherwise it can lead to an infinite loop. issue5278 review17791002 --- tryton/gui/window/view_form/model/group.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py index 7c64a3cea9..397a5051cd 100644 --- a/tryton/gui/window/view_form/model/group.py +++ b/tryton/gui/window/view_form/model/group.py @@ -282,14 +282,14 @@ class Group(SignalEvent, list): record.signal('record-modified') if signal: self.signal('group-changed', record) - # Set parent field to trigger on_change - if self.parent and self.parent_name in self.fields: - field = self.fields[self.parent_name] - if isinstance(field, (M2OField, ReferenceField)): - value = self.parent.id, '' - if isinstance(field, ReferenceField): - value = self.parent.model_name, value - field.set_client(record, value) + # Set parent field to trigger on_change + if self.parent and self.parent_name in self.fields: + field = self.fields[self.parent_name] + if isinstance(field, (M2OField, ReferenceField)): + value = self.parent.id, '' + if isinstance(field, ReferenceField): + value = self.parent.model_name, value + field.set_client(record, value) return record def set_sequence(self, field='sequence'):