Newer
Older
# © 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}