Skip to content
Snippets Groups Projects
main.py 1.53 KiB
Newer Older
  • Learn to ignore specific revisions
  • # © 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"])
    
            data = http.request.env["cgscop.alfresco"].alfresco_get_ticket(username)
    
        @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}