diff options
Diffstat (limited to 'addons/web/controllers/main.py')
| -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',[]) |
