Reviewers: ,
Please review this at http://codereview.tryton.org/221007/
Affected files:
M tryton/gui/window/view_form/view/form_gtk/many2many.py
M tryton/gui/window/view_form/view/form_gtk/many2one.py
M tryton/gui/window/view_form/view/form_gtk/one2many.py
M tryton/gui/window/win_form.py
M tryton/gui/window/win_search.py
Index: tryton/gui/window/view_form/view/form_gtk/many2many.py
===================================================================
--- a/tryton/gui/window/view_form/view/form_gtk/many2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py
@@ -71,8 +71,9 @@
frame.set_shadow_type(gtk.SHADOW_OUT)
self.widget.pack_start(frame, expand=False, fill=True)
- self.screen = Screen(attrs['relation'], mode=['tree'],
- views_preload=attrs.get('views', {}),
+ self.screen = Screen(attrs['relation'],
+ view_ids=attrs.get('view_ids').split(','),
+ mode=['tree'], views_preload=attrs.get('views', {}),
row_activate=self._on_activate)
self.screen.signal_connect(self, 'record-message', self._sig_label)
@@ -145,8 +146,9 @@
self.wid_text.set_text('')
if len(ids) != 1 or not value:
WinSearch(self.attrs['relation'], callback, sel_multi=True,
- ids=ids, context=context, domain=domain,
- views_preload=self.attrs.get('views', {}))
+ ids=ids, context=context, domain=domain,
+ views_ids=self.attrs.get('views_ids').split(','),
+ views_preload=self.attrs.get('views', {}))
else:
callback(ids)
Index: tryton/gui/window/view_form/view/form_gtk/many2one.py
===================================================================
--- a/tryton/gui/window/view_form/view/form_gtk/many2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py
@@ -133,6 +133,7 @@
WinSearch(self.attrs['relation'], callback,
sel_multi=False,
ids=ids, context=context, domain=domain,
+ view_ids=self.attrs.get('view_ids').split(','),
views_preload=self.attrs.get('views', {}))
return
self.focus_out = True
@@ -144,8 +145,8 @@
domain = self.field.domain_get(self.record)
context = self.field.context_get(self.record)
return Screen(self.attrs['relation'], domain=domain,
context=context,
- mode=['form'], views_preload=self.attrs.get('views', {}),
- readonly=self._readonly)
+ mode=['form'], view_ids=self.attrs.get('view_ids').split(','),
+ views_preload=self.attrs.get('views', {}),
readonly=self._readonly)
def sig_new(self, *args):
self.focus_out = False
@@ -216,6 +217,7 @@
self.changed = True
WinSearch(self.attrs['relation'], callback, sel_multi=False,
ids=ids, context=context, domain=domain,
+ view_ids=self.attrs.get('view_ids').split(','),
views_preload=self.attrs.get('views', {}))
return
self.focus_out = True
Index: tryton/gui/window/view_form/view/form_gtk/one2many.py
===================================================================
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py
@@ -156,6 +156,7 @@
self.screen = Screen(attrs['relation'],
mode=attrs.get('mode', 'tree,form').split(','),
+ view_ids=attrs.get('view_ids', '').split(','),
views_preload=attrs.get('views', {}),
row_activate=self._on_activate,
exclude_field=attrs.get('relation_field', None))
@@ -324,6 +325,7 @@
if len(ids) != 1:
WinSearch(self.attrs['relation'], callback, sel_multi=True,
ids=ids, context=context, domain=domain,
+ view_ids=self.attrs.get('view_ids', '').split(','),
views_preload=self.attrs.get('views', {}))
else:
callback(ids)
Index: tryton/gui/window/win_form.py
===================================================================
--- a/tryton/gui/window/win_form.py
+++ b/tryton/gui/window/win_form.py
@@ -276,6 +276,7 @@
if len(ids) != 1:
WinSearch(self.attrs['relation'], callback, sel_multi=True,
ids=ids, context=context, domain=domain,
+ view_ids=self.attrs.get('view_ids').split(','),
views_preload=self.attrs.get('views', {}))
else:
callback(ids)
Index: tryton/gui/window/win_search.py
===================================================================
--- a/tryton/gui/window/win_search.py
+++ b/tryton/gui/window/win_search.py
@@ -15,7 +15,7 @@
class WinSearch(NoModal):
def __init__(self, model, callback, sel_multi=True, ids=None,
context=None,
- domain=None, views_preload=None):
+ domain=None, view_ids=None, views_preload=None):
NoModal.__init__(self)
if views_preload is None:
views_preload = {}
@@ -50,7 +50,7 @@
self.win.vbox.pack_start(scrollwindow, expand=True, fill=True)
self.screen = Screen(model, domain=domain, mode=['tree'],
- context=context, views_preload=views_preload,
+ context=context, view_ids=view_ids,
views_preload=views_preload,
row_activate=self.sig_activate)
self.view = self.screen.current_view
self.view.unset_editable()
--
[email protected] mailing list