diff --git a/modules/basic_auth/cms_basic_auth_module.e b/modules/basic_auth/cms_basic_auth_module.e index d9f1415..1d69320 100644 --- a/modules/basic_auth/cms_basic_auth_module.e +++ b/modules/basic_auth/cms_basic_auth_module.e @@ -135,7 +135,7 @@ feature {NONE} -- Implementation: routes r.add_warning_message ("Error with block [login]") end end - r.set_value ("Basic Auth", "optional_content_type") + r.set_optional_content_type ("Basic Auth") end r.execute end diff --git a/modules/node/handler/cms_node_type_webform_manager_i.e b/modules/node/handler/cms_node_type_webform_manager_i.e index 87dda89..78337f7 100644 --- a/modules/node/handler/cms_node_type_webform_manager_i.e +++ b/modules/node/handler/cms_node_type_webform_manager_i.e @@ -83,9 +83,11 @@ feature -- Output local s: STRING do - create s.make_empty - a_response.set_value (a_node, "node") a_response.set_title (a_node.title) + + a_response.set_value (a_node, "node") + a_response.set_value (a_node.content_type, "optional_content_type") + create s.make_empty append_content_as_html_to (a_node, False, s, a_response) a_response.set_main_content (s) end diff --git a/modules/node/handler/node_view_response.e b/modules/node/handler/node_view_response.e index cc8d189..98d72c9 100644 --- a/modules/node/handler/node_view_response.e +++ b/modules/node/handler/node_view_response.e @@ -48,6 +48,7 @@ feature -- Execution end end if l_node /= Void then + set_optional_content_type (l_node.content_type) if attached node_api.node_type_for (l_node) as l_content_type and then attached node_api.node_type_webform_manager (l_content_type) as l_manager diff --git a/modules/oauth20/cms_oauth_20_module.e b/modules/oauth20/cms_oauth_20_module.e index 8c25424..2ea9610 100644 --- a/modules/oauth20/cms_oauth_20_module.e +++ b/modules/oauth20/cms_oauth_20_module.e @@ -265,7 +265,7 @@ feature -- Hooks if r.is_authenticated then r.add_error_message ("You are already signed in!") else - r.set_value ("Login", "optional_content_type") + r.set_optional_content_type ("Login") end r.execute end diff --git a/modules/openid/cms_openid_module.e b/modules/openid/cms_openid_module.e index 259599b..211607a 100644 --- a/modules/openid/cms_openid_module.e +++ b/modules/openid/cms_openid_module.e @@ -218,9 +218,7 @@ feature -- Hooks if api.user_is_authenticated then r.add_error_message ("You are already signed in!") elseif req.is_get_request_method then - r.set_value ("Login", "optional_content_type") - - + r.set_optional_content_type ("Login") elseif req.is_post_request_method then create s.make_empty if attached req.string_item ("openid") as p_openid then diff --git a/src/service/response/cms_response.e b/src/service/response/cms_response.e index 0d1ffca..8dba680 100644 --- a/src/service/response/cms_response.e +++ b/src/service/response/cms_response.e @@ -155,6 +155,13 @@ feature -- Access: CMS values: CMS_VALUE_TABLE -- Associated values indexed by string name. +feature -- Specific values + + optional_content_type: detachable ANY + do + Result := values.item ("optional_content_type") + end + feature -- User access is_authenticated: BOOLEAN @@ -326,6 +333,11 @@ feature -- Element change main_content := s end + set_optional_content_type (a_content_type: detachable ANY) + do + set_value (a_content_type, "optional_content_type") + end + set_value (v: detachable ANY; k: READABLE_STRING_GENERAL) -- Set value `v' associated with name `k'. do @@ -1434,7 +1446,7 @@ feature {NONE} -- Execution end end - if attached {READABLE_STRING_GENERAL} values.item ("optional_content_type") as l_type then + if attached {READABLE_STRING_GENERAL} optional_content_type as l_type then create cms_page.make_typed (utf.utf_32_string_to_utf_8_string_8 (l_type)) else create cms_page.make