# © 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

    # ------------------------------------------------------
    # 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}