|
|
@ -3,11 +3,30 @@ |
|
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). |
|
|
|
|
|
|
|
|
|
|
|
import re |
|
|
|
|
|
|
|
from odoo import http |
|
|
|
from odoo.http import route |
|
|
|
|
|
|
|
from odoo.addons.base_rest.controllers import main |
|
|
|
|
|
|
|
|
|
|
|
def patch_for_json(path_re): |
|
|
|
# this is to avoid Odoo, which assumes json always means json+rpc, |
|
|
|
# complaining about "function declared as capable of handling request |
|
|
|
# of type 'http' but called with a request of type 'json'" |
|
|
|
# cf rest-framework/graphql_base/controllers/main.py |
|
|
|
path_re = re.compile(path_re) |
|
|
|
orig_get_request = http.Root.get_request |
|
|
|
|
|
|
|
def get_request(self, httprequest): |
|
|
|
if path_re.match(httprequest.path): |
|
|
|
return http.HttpRequest(httprequest) |
|
|
|
return orig_get_request(self, httprequest) |
|
|
|
|
|
|
|
http.Root.get_request = get_request |
|
|
|
|
|
|
|
|
|
|
|
class UserController(main.RestController): |
|
|
|
_root_path = "/api/" |
|
|
|
_collection_name = "emc.services" |
|
|
@ -33,3 +52,5 @@ class UserController(main.RestController): |
|
|
|
return self._process_method( |
|
|
|
_service_name, "validate", _id=_id, params=params |
|
|
|
) |
|
|
|
|
|
|
|
patch_for_json("^/api/subscription-request/[0-9]*/validate$") |