# © 2020 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import http class AlfrescoController(http.Controller): @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 @http.route( ["/web/alfresco/session-backend"], type="json", auth="user", method=["POST"] ) def get_session_backend(self, username): ticket = http.request.env["cgscop.alfresco"].alfresco_get_ticket(username) backend = http.request.env["cmis.backend"].search([], limit=1) return { "ticket": ticket, "backend_location": backend.location, } # ------------------------------------------------------ # 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}