Always use search_context for creation from Many2One
and remove unused context from Many2Many WinForm as it is only for tree view. issue9023 review282871003
This commit is contained in:
@@ -144,9 +144,12 @@ class Many2One(Widget):
|
||||
self.changed = True
|
||||
return
|
||||
|
||||
def get_screen(self):
|
||||
def get_screen(self, search=False):
|
||||
domain = self.field.domain_get(self.record)
|
||||
context = self.field.get_context(self.record)
|
||||
if search:
|
||||
context = self.field.get_search_context(self.record)
|
||||
else:
|
||||
context = self.field.get_context(self.record)
|
||||
# Remove first tree view as mode is form only
|
||||
view_ids = self.attrs.get('view_ids', '').split(',')[1:]
|
||||
return Screen(self.get_model(), domain=domain, context=context,
|
||||
@@ -159,7 +162,7 @@ class Many2One(Widget):
|
||||
if not model or not common.MODELACCESS[model]['create']:
|
||||
return
|
||||
self.focus_out = False
|
||||
screen = self.get_screen()
|
||||
screen = self.get_screen(search=True)
|
||||
|
||||
def callback(result):
|
||||
if result:
|
||||
|
||||
@@ -337,8 +337,6 @@ class One2Many(Widget):
|
||||
self._new_single()
|
||||
|
||||
def _new_single(self):
|
||||
ctx = {}
|
||||
ctx.update(self.field.get_context(self.record))
|
||||
sequence = self._sequence()
|
||||
|
||||
def update_sequence():
|
||||
@@ -353,7 +351,7 @@ class One2Many(Widget):
|
||||
field_size = self.record.expr_eval(self.attrs.get('size')) or -1
|
||||
field_size -= len(self.field.get_eval(self.record)) + 1
|
||||
WinForm(self.screen, lambda a: update_sequence(), new=True,
|
||||
many=field_size, context=ctx, title=self.attrs.get('string'))
|
||||
many=field_size, title=self.attrs.get('string'))
|
||||
|
||||
def _new_product(self):
|
||||
fields = self.attrs['product'].split(',')
|
||||
|
||||
Reference in New Issue
Block a user