summaryrefslogtreecommitdiff
path: root/addons/base_import/controllers.py
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-08-14 14:16:10 +0200
committerXavier Morel <xmo@openerp.com>2012-08-14 14:16:10 +0200
commitb8f93a7bc653d41bd519e7769573fe2ccab8ccbe (patch)
treec3e0f58c3d1f76b14e19b69c11f078ff987a0cd8 /addons/base_import/controllers.py
parent84ea769476468a46ee3ef19f388dff080b93b4ce (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.py24
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}))