diff options
| author | Christophe Simonis <chs@odoo.com> | 2015-05-26 17:34:04 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2015-05-28 14:27:38 +0200 |
| commit | fe2b5f35a40ca8df662130608b0f89427a196362 (patch) | |
| tree | 0c7773f0599f3b1e6dbb869104fad0b04869b269 /addons/web/controllers | |
| parent | d4d8a2eae31e7a6a45029b84603e055300e3be36 (diff) | |
| parent | bf1e99964cdbc374f8a0c4cec1b338bf7c7c2930 (diff) | |
[MERGE] forward port of branch saas-6 up to bf1e999
Diffstat (limited to 'addons/web/controllers')
| -rw-r--r-- | addons/web/controllers/main.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index e49af164971..b01e8ade9ff 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -35,6 +35,7 @@ from openerp.addons.base.ir.ir_qweb import AssetsBundle, QWebTemplateNotFound from openerp.modules import get_module_resource from openerp.tools import topological_sort from openerp.tools.translate import _ +from openerp.tools import ustr from openerp import http from openerp.http import request, serialize_exception as _serialize_exception @@ -444,14 +445,14 @@ def xml2json_from_elementtree(el, preserve_whitespaces=False): return res def content_disposition(filename): - filename = filename.encode('utf8') - escaped = urllib2.quote(filename) + filename = ustr(filename) + escaped = urllib2.quote(filename.encode('utf8')) browser = request.httprequest.user_agent.browser version = int((request.httprequest.user_agent.version or '0').split('.')[0]) if browser == 'msie' and version < 9: return "attachment; filename=%s" % escaped elif browser == 'safari': - return "attachment; filename=%s" % filename + return u"attachment; filename=%s" % filename else: return "attachment; filename*=UTF-8''%s" % escaped @@ -1182,6 +1183,7 @@ class Binary(http.Controller): } except Exception: args = {'error': "Something horrible happened"} + _logger.exception("Fail to upload attachment %s" % ufile.filename) return out % (simplejson.dumps(callback), simplejson.dumps(args)) @http.route([ @@ -1440,6 +1442,9 @@ class ExportFormat(object): context = dict(request.context or {}, **params.get('context', {})) ids = ids or Model.search(domain, 0, False, False, context) + if not request.env[model]._is_an_ordinary_table(): + fields = [field for field in fields if field['name'] != 'id'] + field_names = map(operator.itemgetter('name'), fields) import_data = Model.export_data(ids, field_names, self.raw_data, context=context).get('datas',[]) |
