summaryrefslogtreecommitdiff
path: root/addons/mrp/controller
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mrp/controller')
-rw-r--r--addons/mrp/controller/__init__.py4
-rw-r--r--addons/mrp/controller/main.py35
2 files changed, 39 insertions, 0 deletions
diff --git a/addons/mrp/controller/__init__.py b/addons/mrp/controller/__init__.py
new file mode 100644
index 00000000..5d4b25db
--- /dev/null
+++ b/addons/mrp/controller/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import main
diff --git a/addons/mrp/controller/main.py b/addons/mrp/controller/main.py
new file mode 100644
index 00000000..9c1a6c0b
--- /dev/null
+++ b/addons/mrp/controller/main.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import base64
+import json
+import logging
+
+from odoo import http
+from odoo.http import request
+from odoo.tools.translate import _
+
+logger = logging.getLogger(__name__)
+
+
+class MrpDocumentRoute(http.Controller):
+
+ @http.route('/mrp/upload_attachment', type='http', methods=['POST'], auth="user")
+ def upload_document(self, ufile, **kwargs):
+ files = request.httprequest.files.getlist('ufile')
+ result = {'success': _("All files uploaded")}
+ for ufile in files:
+ try:
+ mimetype = ufile.content_type
+ request.env['mrp.document'].create({
+ 'name': ufile.filename,
+ 'res_model': kwargs.get('res_model'),
+ 'res_id': int(kwargs.get('res_id')),
+ 'mimetype': mimetype,
+ 'datas': base64.encodebytes(ufile.read()),
+ })
+ except Exception as e:
+ logger.exception("Fail to upload document %s" % ufile.filename)
+ result = {'error': str(e)}
+
+ return json.dumps(result)