diff options
Diffstat (limited to 'addons/base_import/controllers.py')
| -rw-r--r-- | addons/base_import/controllers.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/addons/base_import/controllers.py b/addons/base_import/controllers.py new file mode 100644 index 00000000000..bc014cd8265 --- /dev/null +++ b/addons/base_import/controllers.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +import base64 +import simplejson + +try: + import openerp.addons.web.common.http as openerpweb +except ImportError: + import web.common.http as openerpweb + +class ImportController(openerpweb.Controller): + _cp_path = '/base_import' + + @openerpweb.httprequest + def set_file(self, req, file, import_id, jsonp='callback'): + import_id = int(import_id) + + written = req.session.model('base_import.import').write(import_id, { + 'file': base64.b64encode(file.read()), + 'file_name': file.filename, + 'file_type': file.content_type, + }, req.session.eval_context(req.context)) + + return 'window.top.%s(%s)' % ( + jsonp, simplejson.dumps({'result': written})) |
