66 lines
2.3 KiB
Python
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:
|