odoo/addons/pad/web/controllers.py

38 lines
1.1 KiB
Python

import urlparse
import cherrypy
from openobject import rpc
from openobject.tools import expose
import openerp.controllers
from openerp.utils import TinyDict
class Piratepad(openerp.controllers.SecuredController):
_cp_path = "/piratepad"
def get_root(self):
return rpc.RPCProxy('res.company').read(
[rpc.get_session().company_id], ['pad_index'])[0]['pad_index']
def make_url(self, pad_name):
return urlparse.urljoin(
self.get_root(), '-'.join(pad_name.split())
)
@expose('json', methods=('POST',))
def link(self, pad_name):
params, data = TinyDict.split(cherrypy.session['params'])
ctx = dict(rpc.get_session().context,
default_res_model=params.model, default_res_id=params.id,
active_id=False, active_ids=[])
pad_name = pad_name.decode('utf8')
pad_link = self.make_url(pad_name)
attachment_id = rpc.RPCProxy('ir.attachment').create({
'name': pad_name,
'url': pad_link,
'type': 'url'
}, ctx)
return {'id': attachment_id, 'name': pad_name, 'url': pad_link}