summaryrefslogtreecommitdiff
path: root/addons/mail/controllers/main.py
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@openerp.com>2012-12-11 15:53:43 +0100
committerChristophe Matthieu <chm@openerp.com>2012-12-11 15:53:43 +0100
commit6c73d8dff8cb3a794a2c35e75da6b85974cc34ff (patch)
tree8d15e059056b538b84667bc508a37cd16507a7d7 /addons/mail/controllers/main.py
parent295c36e66c5755b307caccad7ce19c08202f3814 (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.py22
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()