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
This commit is contained in:
Nicolas Évrard committed 2014-01-26 18:03:00 +01:00
1 parent 2cd0da0d57
commit 09ceaba41b
1 file changed
+4 -3
+4 -3
View File
@@ -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