Manage view_ids

issue2401
review221007
This commit is contained in:
Cédric Krier committed 2012-01-31 23:27:44 +01:00
1 parent 964100bc36
commit e13d8c2ace
5 files changed
+17 -9

No files matched your search

@@ -71,8 +71,9 @@ class Many2Many(WidgetInterface):
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)
@@ -150,8 +151,9 @@ class Many2Many(WidgetInterface):
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)
@@ -160,6 +160,7 @@ class Many2One(WidgetInterface):
WinSearch(model, 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
@@ -171,8 +172,8 @@ class Many2One(WidgetInterface):
domain = self.field.domain_get(self.record)
context = self.field.context_get(self.record)
return Screen(self.get_model(), 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
@@ -249,6 +250,7 @@ class Many2One(WidgetInterface):
self.changed = True
WinSearch(model, 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
@@ -158,6 +158,7 @@ class One2Many(WidgetInterface):
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))
@@ -332,6 +333,7 @@ class One2Many(WidgetInterface):
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)
+3 -1
View File
@@ -281,7 +281,9 @@ class WinForm(NoModal):
if len(ids) != 1:
WinSearch(model_name, callback, sel_multi=True,
ids=ids, context=context, domain=domain)
ids=ids, context=context, domain=domain,
view_ids=self.attrs.get('view_ids').split(','),
views_preload=self.attrs.get('views', {}))
else:
callback(ids)
+2 -2
View File
@@ -14,7 +14,7 @@ _ = gettext.gettext
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 @@ class WinSearch(NoModal):
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()