diff options
| author | Xavier Morel <xmo@openerp.com> | 2012-08-14 14:16:10 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2012-08-14 14:16:10 +0200 |
| commit | b8f93a7bc653d41bd519e7769573fe2ccab8ccbe (patch) | |
| tree | c3e0f58c3d1f76b14e19b69c11f078ff987a0cd8 /addons/base_import/controllers.py | |
| parent | 84ea769476468a46ee3ef19f388dff080b93b4ce (diff) | |
[ADD] base import logic: implement creating an import, uploading a file and displaying the preview
bzr revid: xmo@openerp.com-20120814121610-j2rpg7u5zh4h93j1
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})) |
