diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py index 29adeab848..b1ac737b7b 100644 --- a/tryton/gui/window/form.py +++ b/tryton/gui/window/form.py @@ -24,8 +24,8 @@ _ = gettext.gettext class Form(SignalEvent): "Form" - def __init__(self, model, res_id=False, domain=None, view_type=None, - view_ids=None, window=None, context=None, name=False, limit=None, + def __init__(self, model, window, res_id=False, domain=None, view_type=None, + view_ids=None, context=None, name=False, limit=None, auto_refresh=False): super(Form, self).__init__() if not view_type: @@ -49,11 +49,10 @@ class Form(SignalEvent): self.domain = domain self.context = context - self.screen = Screen(self.model, view_type=view_type, + self.screen = Screen(self.model, self.window, view_type=view_type, context=self.context, view_ids=view_ids, domain=domain, hastoolbar=CONFIG['form.toolbar'], show_search=True, - window=self.window, limit=limit, readonly=bool(auto_refresh), - form=self) + limit=limit, readonly=bool(auto_refresh), form=self) self.screen.signal_connect(self, 'record-message', self._record_message) self.screen.signal_connect(self, 'attachment-count', self._attachment_count) diff --git a/tryton/gui/window/preference.py b/tryton/gui/window/preference.py index 0b8cb6f677..a4797be807 100644 --- a/tryton/gui/window/preference.py +++ b/tryton/gui/window/preference.py @@ -38,7 +38,7 @@ class Preference(object): raise arch = res['arch'] fields = res['fields'] - self.screen = Screen('res.user', view_type=[], window=self.win) + self.screen = Screen('res.user', self.win, view_type=[]) self.screen.new(default=False) self.screen.add_view_custom(arch, fields, display=True) diff --git a/tryton/gui/window/tree.py b/tryton/gui/window/tree.py index 2f93f11a1d..a2d8381afc 100644 --- a/tryton/gui/window/tree.py +++ b/tryton/gui/window/tree.py @@ -17,8 +17,8 @@ _ = gettext.gettext class Tree(SignalEvent): "Tree page" - def __init__(self, model, res_id=False, view_id=False, domain=None, context=None, - window=None, name=False): + def __init__(self, model, window, res_id=False, view_id=False, domain=None, + context=None, name=False): super(Tree, self).__init__() if domain is None: domain = {} diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py index 084a192310..dce3881600 100644 --- a/tryton/gui/window/view_form/screen/screen.py +++ b/tryton/gui/window/view_form/screen/screen.py @@ -15,10 +15,10 @@ _LIMIT = 20000 class Screen(SignalEvent): "Screen" - def __init__(self, model_name, view_ids=None, view_type=None, + def __init__(self, model_name, window, view_ids=None, view_type=None, parent=None, context=None, views_preload=None, tree_saves=True, domain=None, create_new=False, row_activate=None, hastoolbar=False, - default_get=None, show_search=False, window=None, limit=None, + default_get=None, show_search=False, limit=None, readonly=False, form=None, exclude_field=None, sort=''): if view_ids is None: view_ids = [] diff --git a/tryton/gui/window/view_form/view/form_gtk/action.py b/tryton/gui/window/view_form/view/form_gtk/action.py index c774b61a26..98159c24d4 100644 --- a/tryton/gui/window/view_form/view/form_gtk/action.py +++ b/tryton/gui/window/view_form/view/form_gtk/action.py @@ -48,8 +48,8 @@ class Action(WidgetInterface): view_id = [self.action['view_id'][0]] if self.action['view_type'] == 'form': mode = (self.action['view_mode'] or 'form,tree').split(',') - self.screen = Screen(self.action['res_model'], view_type=mode, - context=self.context, view_ids = view_id, + self.screen = Screen(self.action['res_model'], self._window, + view_type=mode, context=self.context, view_ids=view_id, domain=self.domain) # self.win_gl = glade.XML(common.terp_path("terp.glade"), # 'widget_paned', gettext.textdomain()) diff --git a/tryton/gui/window/view_form/view/form_gtk/many2many.py b/tryton/gui/window/view_form/view/form_gtk/many2many.py index 4036f869e9..ba86e6f72d 100644 --- a/tryton/gui/window/view_form/view/form_gtk/many2many.py +++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py @@ -41,8 +41,8 @@ class Many2Many(WidgetInterface): scroll.set_placement(gtk.CORNER_TOP_LEFT) scroll.set_shadow_type(gtk.SHADOW_NONE) - self.screen = Screen(attrs['relation'], view_type=['tree'], - views_preload=attrs.get('views', {})) + self.screen = Screen(attrs['relation'], self._window, + view_type=['tree'], views_preload=attrs.get('views', {})) scroll.add_with_viewport(self.screen.widget) self.widget.pack_start(scroll, expand=True, fill=True) diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py index 24e61fd10f..32439aeaf6 100644 --- a/tryton/gui/window/view_form/view/form_gtk/many2one.py +++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py @@ -59,8 +59,8 @@ class Dialog(object): viewport.set_shadow_type(gtk.SHADOW_NONE) scroll.add(viewport) - self.screen = Screen(model, domain=domain, context=context, - window=self.dia, view_type=['form']) + self.screen = Screen(model, self.dia, domain=domain, context=context, + view_type=['form']) if obj_id: self.screen.load([obj_id]) else: @@ -418,7 +418,7 @@ class Many2One(WidgetInterface): if not obj_id: common.message(_('You must select a record to use the relation !')) return False - screen = Screen(self.attrs['relation']) + screen = Screen(self.attrs['relation'], self._window) screen.load([obj_id]) act['domain'] = screen.current_model.expr_eval(act['domain'], check_load=False) diff --git a/tryton/gui/window/view_form/view/form_gtk/one2many.py b/tryton/gui/window/view_form/view/form_gtk/one2many.py index 689dd0e548..ba3903f95e 100644 --- a/tryton/gui/window/view_form/view/form_gtk/one2many.py +++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py @@ -57,8 +57,7 @@ class Dialog(object): scroll.add(viewport) self.dia.show_all() - self.screen = Screen(model_name, view_type=[], parent=parent, - window=self.dia, + self.screen = Screen(model_name, self.dia, view_type=[], parent=parent, exclude_field=attrs.get('relation_field', None)) self.screen.models._context.update(model_ctx) if not model: @@ -213,12 +212,12 @@ class One2Many(WidgetInterface): tooltips.enable() self.widget.pack_start(hbox, expand=False, fill=True) - self.screen = Screen(attrs['relation'], + self.screen = Screen(attrs['relation'], self._window, view_type=attrs.get('mode','tree,form').split(','), parent=self.parent, views_preload=attrs.get('views', {}), tree_saves=attrs.get('saves', False), create_new=True, row_activate=self._on_activate, - default_get=attrs.get('default_get', {}), window=self._window, + default_get=attrs.get('default_get', {}), exclude_field=attrs.get('relation_field', None)) self.screen.signal_connect(self, 'record-message', self._sig_label) menuitem_title.get_child().set_text(self.screen.current_view.title) diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py index d5d6decdd4..caa049d94c 100644 --- a/tryton/gui/window/view_form/view/list.py +++ b/tryton/gui/window/view_form/view/list.py @@ -287,7 +287,8 @@ class ViewList(ParserView): message(_('You must select a record to use the relation!')) return False from tryton.gui.window.view_form.screen import Screen - screen = Screen(self.screen.fields[path[1].name]['relation']) + screen = Screen(self.screen.fields[path[1].name]['relation'], + self.window) screen.load([value]) act['domain'] = screen.current_model.expr_eval(act['domain'], check_load=False) diff --git a/tryton/gui/window/win_search.py b/tryton/gui/window/win_search.py index 7fad456d69..9d251b307b 100644 --- a/tryton/gui/window/win_search.py +++ b/tryton/gui/window/win_search.py @@ -33,8 +33,8 @@ class WinSearch(object): scrollwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.win.vbox.pack_start(scrollwindow, expand=True, fill=True) - self.screen = Screen(model, view_type=['tree'], context=context, - parent=self.win) + self.screen = Screen(model, self.win, view_type=['tree'], + context=context) self.view = self.screen.current_view self.view.unset_editable() sel = self.view.widget_tree.get_selection() diff --git a/tryton/gui/window/window.py b/tryton/gui/window/window.py index 39144fb24d..0013db0161 100644 --- a/tryton/gui/window/window.py +++ b/tryton/gui/window/window.py @@ -15,15 +15,14 @@ class Window(object): if view_type == 'form': from form import Form - win = Form(model, res_id, domain, view_type=mode, - view_ids = (view_ids or []), window=window, - context=context, name=name, limit=limit, - auto_refresh=auto_refresh) + win = Form(model, window, res_id, domain, view_type=mode, + view_ids = (view_ids or []), context=context, name=name, + limit=limit, auto_refresh=auto_refresh) Main.get_main().win_add(win) elif view_type == 'tree': from tree import Tree - win = Tree(model, res_id, view_ids and view_ids[0] or None, domain, - context, window=window, name=name) + win = Tree(model, window, res_id, view_ids and view_ids[0] or None, domain, + context, name=name) Main.get_main().win_add(win) else: import logging diff --git a/tryton/wizard/main.py b/tryton/wizard/main.py index 82d6592c69..c796e9e4ab 100644 --- a/tryton/wizard/main.py +++ b/tryton/wizard/main.py @@ -36,7 +36,7 @@ class Dialog(object): if 'value' in fields[i]: val[i] = fields[i]['value'] - self.screen = Screen(obj_name, view_type=[], window=self.dia) + self.screen = Screen(obj_name, self.dia, view_type=[]) self.screen.new(default=False) self.screen.add_view_custom(arch, fields, display=True) self.screen.current_model.set(val)