From 09ceaba41b7014f054d41b950ac18c14ecf3a2f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Sun, 26 Jan 2014 18:03:00 +0100 Subject: [PATCH] reset tree_states_done when setting a screen group The O2M screen's tree_states_done property is filled with the view id, this property is used to know when the state must be set or not. This has the effect of not restoring the state of O2M widget when switching from a record to another. This change fixes this behavior. issue3609 review2791003 --- tryton/gui/window/view_form/screen/screen.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py index 37923e3e8d..781a501629 100644 --- a/tryton/gui/window/view_form/screen/screen.py +++ b/tryton/gui/window/view_form/screen/screen.py @@ -76,6 +76,9 @@ class Screen(SignalEvent): self.parent_name = None self.exclude_field = exclude_field self.filter_widget = None + self.tree_states = collections.defaultdict( + lambda: collections.defaultdict(lambda: None)) + self.tree_states_done = set() self.__group = None self.new_group() self.__current_record = None @@ -88,9 +91,6 @@ class Screen(SignalEvent): self.fields_view_tree = None self.order = order self.view_to_load = [] - self.tree_states = collections.defaultdict( - lambda: collections.defaultdict(lambda: None)) - self.tree_states_done = set() self.domain_parser = None self.pre_validate = False self.view_to_load = mode[:] @@ -242,6 +242,7 @@ class Screen(SignalEvent): self.group.signal_unconnect(self) for name, field in self.group.fields.iteritems(): fields[name] = field.attrs + self.tree_states_done.clear() self.__group = group self.parent = group.parent self.parent_name = group.parent_name