From 8276fb585371e78a500d57ff61f23ce10db24e9c Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Wed, 13 Aug 2014 14:52:01 +0200 Subject: [PATCH] [FIX] export: add the context in the export In some cases, the data dispalyed in a list depends on the context This context needs to be passed to the export method, so the exported data reflects correctly the data from the list view --- addons/web/controllers/main.py | 8 +++++--- addons/web/static/src/js/data_export.js | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index d55e7ad0270..584bb3e35b5 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1606,16 +1606,18 @@ class ExportFormat(object): @openerpweb.httprequest def index(self, req, data, token): + params = simplejson.loads(data) model, fields, ids, domain, import_compat = \ operator.itemgetter('model', 'fields', 'ids', 'domain', 'import_compat')( - simplejson.loads(data)) + params) Model = req.session.model(model) - ids = ids or Model.search(domain, 0, False, False, req.context) + context = dict(req.context or {}, **params.get('context', {})) + ids = ids or Model.search(domain, 0, False, False, context) field_names = map(operator.itemgetter('name'), fields) - import_data = Model.export_data(ids, field_names, req.context).get('datas',[]) + import_data = Model.export_data(ids, field_names, context).get('datas',[]) if import_compat: columns_headers = field_names diff --git a/addons/web/static/src/js/data_export.js b/addons/web/static/src/js/data_export.js index 7a57899a963..be8fb9628f1 100644 --- a/addons/web/static/src/js/data_export.js +++ b/addons/web/static/src/js/data_export.js @@ -389,6 +389,7 @@ instance.web.DataExport = instance.web.Dialog.extend({ fields: exported_fields, ids: ids_to_export, domain: this.dataset.domain, + context: this.dataset.context, import_compat: !!this.$el.find("#import_compat").val(), })}, complete: instance.web.unblockUI,