Set sequence also when using product on One2Many
As sequence is needed in many places, its computation is factorize in a private method. issue6439 review34921002
This commit is contained in:
1 parent
49cad65ccd
commit
40233bb4a9
1 file changed
+13
-9
@@ -326,6 +326,13 @@ class One2Many(Widget):
|
||||
return False
|
||||
return True
|
||||
|
||||
def _sequence(self):
|
||||
for view in self.screen.views:
|
||||
if view.view_type == 'tree':
|
||||
sequence = view.attributes.get('sequence')
|
||||
if sequence:
|
||||
return sequence
|
||||
|
||||
def _sig_new(self, *args):
|
||||
if not common.MODELACCESS[self.screen.model_name]['create']:
|
||||
return
|
||||
@@ -340,12 +347,7 @@ class One2Many(Widget):
|
||||
def _new_single(self):
|
||||
ctx = {}
|
||||
ctx.update(self.field.get_context(self.record))
|
||||
sequence = None
|
||||
for view in self.screen.views:
|
||||
if view.view_type == 'tree':
|
||||
sequence = view.attributes.get('sequence')
|
||||
if sequence:
|
||||
break
|
||||
sequence = self._sequence()
|
||||
|
||||
def update_sequence():
|
||||
if sequence:
|
||||
@@ -409,6 +411,10 @@ class One2Many(Widget):
|
||||
default_value[field + '.rec_name'] = rec_name
|
||||
record.set_default(default_value)
|
||||
|
||||
sequence = self._sequence()
|
||||
if sequence:
|
||||
self.screen.group.set_sequence(field=sequence)
|
||||
|
||||
search_set()
|
||||
|
||||
def _sig_edit(self, widget=None):
|
||||
@@ -460,9 +466,7 @@ class One2Many(Widget):
|
||||
|
||||
self.focus_out = False
|
||||
|
||||
sequence = None
|
||||
if self.screen.current_view.view_type == 'tree':
|
||||
sequence = self.screen.current_view.attributes.get('sequence')
|
||||
sequence = self._sequence()
|
||||
|
||||
def callback(result):
|
||||
self.focus_out = True
|
||||
|
||||
Reference in new issue
Block a user