summaryrefslogtreecommitdiff
path: root/addons/document_page/web/controllers/wiki.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/document_page/web/controllers/wiki.py')
-rw-r--r--addons/document_page/web/controllers/wiki.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/addons/document_page/web/controllers/wiki.py b/addons/document_page/web/controllers/wiki.py
new file mode 100644
index 00000000000..2f147827f24
--- /dev/null
+++ b/addons/document_page/web/controllers/wiki.py
@@ -0,0 +1,65 @@
+###############################################################################
+#
+# Copyright (C) 2007-TODAY Tiny ERP Pvt Ltd. All Rights Reserved.
+#
+# $Id$
+#
+# Developed by Tiny (http://openerp.com) and Axelor (http://axelor.com).
+#
+# The OpenERP web client is distributed under the "OpenERP Public License".
+# It's based on Mozilla Public License Version (MPL) 1.1 with following
+# restrictions:
+#
+# - All names, links and logos of Tiny, OpenERP and Axelor must be
+# kept as in original distribution without any changes in all software
+# screens, especially in start-up page and the software header, even if
+# the application source code has been changed or updated or code has been
+# added.
+#
+# - All distributions of the software must keep source code with OEPL.
+#
+# - All integrations to any other software must keep source code with OEPL.
+#
+# If you need commercial licence to remove this kind of restriction please
+# contact us.
+#
+# You can see the MPL licence at: http://www.mozilla.org/MPL/MPL-1.1.html
+#
+###############################################################################
+import base64
+
+import cherrypy
+
+import openobject
+from openobject.tools import expose
+
+from openerp.controllers import SecuredController
+
+
+class WikiView(SecuredController):
+ _cp_path = "/wiki/wiki"
+
+ def get_attachment(self, **kwargs):
+ attachments = openobject.rpc.RPCProxy('ir.attachment')
+ file_name = kwargs.get('file').replace("'", '').strip()
+ id = kwargs.get('id').strip()
+
+ ids = attachments.search([('datas_fname', '=', file_name),
+ ('res_model', '=', 'wiki.wiki'),
+ ('res_id', '=', id)])
+
+ res = attachments.read(ids, ['datas'])[0].get('datas')
+ return res, file_name
+
+ @expose(content_type='application/octet')
+ def getImage(self, *kw, **kws):
+ res, _ = self.get_attachment(**kws)
+ return base64.decodestring(res)
+
+ @expose(content_type='application/octet')
+ def getfile(self, *kw, **kws):
+ res, file_name = self.get_attachment(**kws)
+ cherrypy.response.headers['Content-Disposition'] = 'filename="%s"' % (file_name,)
+ return base64.decodestring(res)
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: