From e3eb23b96c478f4e2aaf8ed34513b5e7d2aa37c7 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 26 May 2011 23:06:41 +0200 Subject: [PATCH] [ADD] Added Binary#upload_attachment controller bzr revid: fme@openerp.com-20110526210641-geszqjfcw3vx0vq8 --- addons/base/controllers/main.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) 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"