diff --git a/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py b/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
index 61af83fb437146a30ba3bb9ad45f06637b5853ce..ac80ac56a9127cabfd9e2f64deb5087e9ec3f914 100644
--- a/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
+++ b/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
@@ -299,7 +299,7 @@ def selectKwargsForCallable(func, initial_kwargs, kwargs_dict):
 
 
 url_template_dict = {
-  "form_action": "%(traversed_document_url)s/%(action_id)s",
+  "form_action": "%(traversed_document_url)s/%(action_id)s?portal_skin=HalRestricted",
   "traverse_generator": "%(root_url)s/%(script_id)s?mode=traverse" + \
                        "&relative_url=%(relative_url)s&view=%(view)s",
   "traverse_generator_action": "%(root_url)s/%(script_id)s?mode=traverse" + \
@@ -2405,6 +2405,7 @@ is_web_mode = (context.REQUEST.get('current_web_section', None) is not None) or
 # is_web_mode =  traversed_document.isWebMode()
 if is_web_mode:
   site_root = context.getWebSectionValue()
+  site_root = portal.web_site_module.renderjs_runner.hateoas
   view_action_type = site_root.getLayoutProperty("configuration_view_action_category", default='object_view')
 else:
   site_root = portal