odoo/addons/document_page/web/controllers/wiki.py

66 lines
2.3 KiB
Python

###############################################################################
#
# 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: