diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 0a5b3ba64b0..3462efd656e 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -413,6 +413,11 @@ class DataSet(openerpweb.Controller): r = m.write([id], data, context) return {'result': r} + @openerpweb.jsonrequest + def unlink(self, request, model, ids=[]): + Model = request.session.model(model) + return Model.unlink(ids) + @openerpweb.jsonrequest def call(self, req, model, method, ids, args): m = req.session.model(model) @@ -722,6 +727,32 @@ class Binary(openerpweb.Controller): args = [False, e.message] return out % (simplejson.dumps(callback), simplejson.dumps(args)) + @openerpweb.httprequest + def upload_attachment(self, request, session_id, callback, model, id, ufile=None): + cherrypy.response.timeout = 500 + Model = request.session.model('ir.attachment') + try: + out = """""" + attachment_id = Model.create({ + 'name': ufile.filename, + 'datas': base64.encodestring(ufile.file.read()), + 'res_model': model, + 'res_id': int(id) + }) + args = { + 'filename': ufile.filename, + 'id': attachment_id + } + except Exception, e: + args = { 'error': e.message } + return out % (simplejson.dumps(callback), simplejson.dumps(args)) + class Action(openerpweb.Controller): _cp_path = "/base/action"