diff --git a/controllers/main.py b/controllers/main.py index 74c9bd908ced0851d4cf67596116c68ee68f29a9..aafe908bc6ca9243c9ebf6edaec651557952e749 100644 --- a/controllers/main.py +++ b/controllers/main.py @@ -6,7 +6,26 @@ from odoo import http class AlfrescoController(http.Controller): - @http.route(['/web/alfresco/session'], type="json", auth="user", method=['POST']) + @http.route( + ['/web/alfresco/session'], + type="json", auth="user", method=['POST']) def get_alf_ticket(self, username): data = http.request.env['cgscop.alfresco'].alfresco_get_ticket(username) return data + + # ------------------------------------------------------ + # Override parent + # ------------------------------------------------------ + @http.route( + '/web/cmis/field/create_value', + type='json', methods=['POST'], auth="user") + def create_field_value(self, model_name, res_id, field_name): + """ + Override parent to return dict with res_id key to avoid error on OCB + form_widget rendering + :return: { object_id: nodeRef } + """ + model_inst = http.request.env[model_name].browse(int(res_id)) + model_inst._fields[field_name].create_value(model_inst) + value = getattr(model_inst, field_name) + return {res_id: value}