From 54737c0df07079ca91b7c08f46b532875615b939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 5 Mar 2012 12:55:53 +0100 Subject: [PATCH] Prevent signal in early creation of record review243002 --- tryton/gui/window/view_form/model/field.py | 3 +-- tryton/gui/window/view_form/model/group.py | 9 +++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index ce0f493730..96dbf9fcdb 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -668,8 +668,7 @@ class O2MField(CharField): if value and value.get('add') or value.get('update', []): record.value[self.name].add_fields(fields, signal=False) for vals in value.get('add', []): - new_record = record.value[self.name].new(default=False, - signal=False) + new_record = record.value[self.name].new(default=False) record.value[self.name].add(new_record) new_record.set(vals, modified=True, signal=False) diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py index 0e4039961f..988c42165b 100644 --- a/tryton/gui/window/view_form/model/group.py +++ b/tryton/gui/window/view_form/model/group.py @@ -276,18 +276,15 @@ class Group(SignalEvent, list): else: index = record[field].get(record) - def new(self, default=True, domain=None, context=None, signal=True, - obj_id=None): + def new(self, default=True, domain=None, context=None, obj_id=None): record = Record(self.model_name, obj_id, group=self) - record.signal_connect(self, 'record-changed', self._record_changed) - record.signal_connect(self, 'record-modified', self._record_modified) if default: ctx = {} ctx.update(context or {}) ctx.update(self.context) record.default_get(domain, ctx) - if signal: - self.signal('group-changed', record) + record.signal_connect(self, 'record-changed', self._record_changed) + record.signal_connect(self, 'record-modified', self._record_modified) return record def unremove(self, record, signal=True):