Manage exclude field from search window

When creating a new record from search window, we should include the relation
field as excluded like it is done for direct creation.

issue9024
review274811009
This commit is contained in:
Cédric Krier committed 2020-02-12 00:11:55 +01:00
1 parent 0e31583242
commit 23486abcb3
3 files changed
+10 -5

No files matched your search

@@ -132,7 +132,8 @@ class Many2One(Widget):
view_ids=self.attrs.get('view_ids', '').split(','),
views_preload=self.attrs.get('views', {}),
new=self.create_access,
title=self.attrs.get('string'))
title=self.attrs.get('string'),
exclude_field=self.attrs.get('relation_field'))
win.screen.search_filter(quote(text))
if len(win.screen.group) == 1:
win.response(None, Gtk.ResponseType.OK)
@@ -219,7 +220,8 @@ class Many2One(Widget):
context=context, domain=domain, order=order,
view_ids=self.attrs.get('view_ids', '').split(','),
views_preload=self.attrs.get('views', {}),
new=self.create_access, title=self.attrs.get('string'))
new=self.create_access, title=self.attrs.get('string'),
exclude_field=self.attrs.get('relation_field'))
win.screen.search_filter(quote(text))
win.show()
return
@@ -475,7 +475,8 @@ class One2Many(Widget):
view_ids=self.attrs.get('view_ids', '').split(','),
views_preload=self.attrs.get('views', {}),
new=self.but_new.get_property('sensitive'),
title=self.attrs.get('string'))
title=self.attrs.get('string'),
exclude_field=self.attrs.get('relation_field'))
win.screen.search_filter(quote(text))
win.show()
+4 -2
View File
@@ -19,7 +19,7 @@ class WinSearch(NoModal):
def __init__(self, model, callback, sel_multi=True, context=None,
domain=None, order=None, view_ids=None,
views_preload=None, new=True, title=''):
views_preload=None, new=True, title='', exclude_field=None):
NoModal.__init__(self)
if view_ids is None:
view_ids = []
@@ -33,6 +33,7 @@ class WinSearch(NoModal):
self.sel_multi = sel_multi
self.callback = callback
self.title = title
self.exclude_field = exclude_field
self.win = Gtk.Dialog(
title=_('Search'), transient_for=self.parent,
@@ -130,7 +131,8 @@ class WinSearch(NoModal):
view_ids = self.view_ids[1:]
screen = Screen(self.model_name, domain=self.domain,
context=self.context, order=self.order, mode=['form'],
view_ids=view_ids, views_preload=self.views_preload)
view_ids=view_ids, views_preload=self.views_preload,
exclude_field=self.exclude_field)
def callback(result):
if result: