Use views_preloaded when searching on many2many
This commit is contained in:
1 parent
0a394c47ac
commit
795f0701e3
2 files changed
+13
-10
No files matched your search
@@ -69,7 +69,8 @@ class Many2Many(WidgetInterface):
|
||||
ids = [x[0] for x in ids]
|
||||
if len(ids) != 1:
|
||||
win = WinSearch(self.attrs['relation'], sel_multi=True, ids=ids,
|
||||
context=context, domain=domain, parent=self._window)
|
||||
context=context, domain=domain, parent=self._window,
|
||||
views_preload=self.attrs.get('views', {}))
|
||||
ids = win.run()
|
||||
|
||||
self.screen.load(ids)
|
||||
|
||||
@@ -11,7 +11,7 @@ _ = gettext.gettext
|
||||
class WinSearch(object):
|
||||
|
||||
def __init__(self, model, sel_multi=True, ids=None, context=None,
|
||||
domain=None, parent=None):
|
||||
domain=None, parent=None, views_preload=None):
|
||||
self.domain = domain or []
|
||||
self.context = context or {}
|
||||
self.context.update(rpc.CONTEXT)
|
||||
@@ -34,7 +34,7 @@ class WinSearch(object):
|
||||
self.win.vbox.pack_start(scrollwindow, expand=True, fill=True)
|
||||
|
||||
self.screen = Screen(model, self.win, view_type=['tree'],
|
||||
context=context)
|
||||
context=context, views_preload=views_preload)
|
||||
self.view = self.screen.current_view
|
||||
self.view.unset_editable()
|
||||
sel = self.view.widget_tree.get_selection()
|
||||
@@ -53,13 +53,15 @@ class WinSearch(object):
|
||||
|
||||
self.model_name = model
|
||||
|
||||
try:
|
||||
view_form = rpc.execute('object', 'execute',
|
||||
self.model_name, 'fields_view_get', False, 'tree',
|
||||
self.context)
|
||||
except Exception, exception:
|
||||
rpc.process_exception(exception, self.parent)
|
||||
raise
|
||||
if 'tree' in views_preload:
|
||||
view_form = views_preload['tree']
|
||||
else:
|
||||
try:
|
||||
args = ('object', 'execute', self.model_name, 'fields_view_get',
|
||||
False, 'tree', self.context)
|
||||
view_form = rpc.execute(*args)
|
||||
except Exception, exception:
|
||||
view_form = rpc.process_exception(exception, self.parent, *args)
|
||||
self.form = widget_search.Form(view_form['arch'], view_form['fields'],
|
||||
model, parent=self.win)
|
||||
|
||||
|
||||
Reference in new issue
Block a user