From 33d349f33b94e8d69d99a5ead83943b5d91f6a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 24 Jan 2014 17:04:57 +0100 Subject: [PATCH] [FIX] mail: fixed download_attachment controller bzr revid: tde@openerp.com-20140124160457-hofozo85ebzbogu7 --- addons/mail/controllers/main.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/addons/mail/controllers/main.py b/addons/mail/controllers/main.py index c2e15c4a12f..a913d3c067d 100644 --- a/addons/mail/controllers/main.py +++ b/addons/mail/controllers/main.py @@ -4,6 +4,7 @@ import psycopg2 import openerp from openerp import SUPERUSER_ID from openerp import http +from openerp.http import request from openerp.addons.web.controllers.main import content_disposition @@ -11,18 +12,19 @@ class MailController(http.Controller): _cp_path = '/mail' @http.route('/mail/download_attachment', type='http', auth='user') - def download_attachment(self, req, model, id, method, attachment_id, **kw): + def download_attachment(self, model, id, method, attachment_id, **kw): # FIXME use /web/binary/saveas directly - Model = req.session.model(model) - res = getattr(Model, method)(int(id), int(attachment_id)) + Model = request.registry.get(model) + res = getattr(Model, method)(request.cr, request.uid, int(id), int(attachment_id)) if res: filecontent = base64.b64decode(res.get('base64')) filename = res.get('filename') if filecontent and filename: - return req.make_response(filecontent, + return request.make_response( + filecontent, headers=[('Content-Type', 'application/octet-stream'), - ('Content-Disposition', content_disposition(filename))]) - return req.not_found() + ('Content-Disposition', content_disposition(filename))]) + return request.not_found() @http.route('/mail/receive', type='json', auth='none') def receive(self, req):