diff options
| author | Christophe Matthieu <chm@openerp.com> | 2012-12-11 15:53:43 +0100 |
|---|---|---|
| committer | Christophe Matthieu <chm@openerp.com> | 2012-12-11 15:53:43 +0100 |
| commit | 6c73d8dff8cb3a794a2c35e75da6b85974cc34ff (patch) | |
| tree | 8d15e059056b538b84667bc508a37cd16507a7d7 /addons/mail/controllers/main.py | |
| parent | 295c36e66c5755b307caccad7ce19c08202f3814 (diff) | |
[IMP] web: move controler download_attachment into mail.
bzr revid: chm@openerp.com-20121211145343-jhjj9sohn2shkbt9
Diffstat (limited to 'addons/mail/controllers/main.py')
| -rw-r--r-- | addons/mail/controllers/main.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/addons/mail/controllers/main.py b/addons/mail/controllers/main.py new file mode 100644 index 00000000000..4c6f6e56064 --- /dev/null +++ b/addons/mail/controllers/main.py @@ -0,0 +1,22 @@ +import base64 +import openerp.addons.web.http as oeweb +from openerp.addons.web.controllers.main import content_disposition + +#---------------------------------------------------------- +# Controller +#---------------------------------------------------------- +class MailController(oeweb.Controller): + _cp_path = '/mail' + + @oeweb.httprequest + def download_attachment(self, req, model, id, method, attachment_id, **kw): + Model = req.session.model(model) + res = getattr(Model, method)(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, + headers=[('Content-Type', 'application/octet-stream'), + ('Content-Disposition', content_disposition(filename, req))]) + return req.not_found() |
