[FIX] mail: fixed download_attachment controller
bzr revid: tde@openerp.com-20140124160457-hofozo85ebzbogu7
This commit is contained in:
parent
79fc8d3d20
commit
33d349f33b
|
@ -4,6 +4,7 @@ import psycopg2
|
||||||
import openerp
|
import openerp
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp import http
|
from openerp import http
|
||||||
|
from openerp.http import request
|
||||||
from openerp.addons.web.controllers.main import content_disposition
|
from openerp.addons.web.controllers.main import content_disposition
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,18 +12,19 @@ class MailController(http.Controller):
|
||||||
_cp_path = '/mail'
|
_cp_path = '/mail'
|
||||||
|
|
||||||
@http.route('/mail/download_attachment', type='http', auth='user')
|
@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
|
# FIXME use /web/binary/saveas directly
|
||||||
Model = req.session.model(model)
|
Model = request.registry.get(model)
|
||||||
res = getattr(Model, method)(int(id), int(attachment_id))
|
res = getattr(Model, method)(request.cr, request.uid, int(id), int(attachment_id))
|
||||||
if res:
|
if res:
|
||||||
filecontent = base64.b64decode(res.get('base64'))
|
filecontent = base64.b64decode(res.get('base64'))
|
||||||
filename = res.get('filename')
|
filename = res.get('filename')
|
||||||
if filecontent and filename:
|
if filecontent and filename:
|
||||||
return req.make_response(filecontent,
|
return request.make_response(
|
||||||
|
filecontent,
|
||||||
headers=[('Content-Type', 'application/octet-stream'),
|
headers=[('Content-Type', 'application/octet-stream'),
|
||||||
('Content-Disposition', content_disposition(filename))])
|
('Content-Disposition', content_disposition(filename))])
|
||||||
return req.not_found()
|
return request.not_found()
|
||||||
|
|
||||||
@http.route('/mail/receive', type='json', auth='none')
|
@http.route('/mail/receive', type='json', auth='none')
|
||||||
def receive(self, req):
|
def receive(self, req):
|
||||||
|
|
Loading…
Reference in New Issue