diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py index 3079a48625..f20c307de4 100644 --- a/tryton/gui/window/form.py +++ b/tryton/gui/window/form.py @@ -233,7 +233,8 @@ class Form(SignalEvent): while(self.screen.view_to_load): self.screen.load_view_to_load() win = WinExport(self.model, self.screen.ids_get(), - self.screen.fields, fields, parent=self.window) + self.screen.fields, fields, parent=self.window, + context=self.context) win.run() def sig_new(self, widget=None, autosave=True): diff --git a/tryton/gui/window/tree.py b/tryton/gui/window/tree.py index 0c12553b1c..d88d3f00d7 100644 --- a/tryton/gui/window/tree.py +++ b/tryton/gui/window/tree.py @@ -239,5 +239,6 @@ class Tree(SignalEvent): def sig_save_as(self, widget=None): win = WinExport(self.model, self.ids_get(), - self.tree_res.fields, [], parent=self.window) + self.tree_res.fields, [], parent=self.window, + context=self.context) win.run() diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py index 9c4794f7c9..7ef7a358c4 100644 --- a/tryton/gui/window/win_export.py +++ b/tryton/gui/window/win_export.py @@ -15,7 +15,8 @@ _ = gettext.gettext class WinExport(object): "Window export" - def __init__(self, model, ids, fields, preload=None, parent=None): + def __init__(self, model, ids, fields, preload=None, parent=None, + context=None): if preload is None: preload = [] self.glade = glade.XML(GLADE, 'win_save_as', @@ -24,6 +25,7 @@ class WinExport(object): self.ids = ids self.model = model self.fields_data = {} + self.context = context self.win.set_transient_for(parent) self.win.set_icon(TRYTON_ICON) @@ -212,7 +214,8 @@ class WinExport(object): action = self.wid_action.get_active() self.parent.present() self.win.destroy() - result = WinExport.datas_read(self.ids, self.model, fields) + result = WinExport.datas_read(self.ids, self.model, fields, + context=self.context) if action == 0: pass @@ -252,7 +255,11 @@ class WinExport(object): return False @staticmethod - def datas_read(ids, model, fields): + def datas_read(ids, model, fields, context=None): + if context is None: + context = {} + ctx = context.copy() + ctx.update(rpc.session.context) datas = rpc.session.rpc_exec_auth('/object', 'execute', model, - 'export_data', ids, fields) + 'export_data', ids, fields, ctx) return datas