summaryrefslogtreecommitdiff
path: root/addons/web/controllers/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/controllers/main.py')
-rw-r--r--addons/web/controllers/main.py11
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',[])