diff --git a/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl b/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl index 11f926b8..81cfe51a 100644 --- a/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +++ b/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl @@ -30,50 +30,66 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc}; "printIfExists": function (fieldName, x) { - <#list fieldNames as fieldName> - if(fieldName === "${fieldName}" ){ - <#attempt> - return "${messagesPerField.printIfExists(fieldName,'1')}" ? x : undefined; - <#recover> - - } - - throw new Error("There is no " + fieldName + " field"); + <#if messagesPerField?? > + <#list fieldNames as fieldName> + if(fieldName === "${fieldName}" ){ + <#attempt> + return "${messagesPerField.printIfExists(fieldName,'1')}" ? x : undefined; + <#recover> + + } + + throw new Error("There is no " + fieldName + " field"); + <#else> + return undefined; + }, "existsError": function (fieldName) { - <#list fieldNames as fieldName> - if(fieldName === "${fieldName}" ){ - <#attempt> - return <#if messagesPerField.existsError('${fieldName}')>true<#else>false; - <#recover> - - } - - throw new Error("There is no " + fieldName + " field"); + <#if messagesPerField?? > + <#list fieldNames as fieldName> + if(fieldName === "${fieldName}" ){ + <#attempt> + return <#if messagesPerField.existsError('${fieldName}')>true<#else>false; + <#recover> + + } + + throw new Error("There is no " + fieldName + " field"); + <#else> + return false; + }, "get": function (fieldName) { - <#list fieldNames as fieldName> - if(fieldName === "${fieldName}" ){ - <#attempt> - <#if messagesPerField.existsError('${fieldName}')> - return "${messagesPerField.get('${fieldName}')?no_esc}"; - - <#recover> - - } - - throw new Error("There is no " + fieldName + " field"); + <#if messagesPerField?? > + <#list fieldNames as fieldName> + if(fieldName === "${fieldName}" ){ + <#attempt> + <#if messagesPerField.existsError('${fieldName}')> + return "${messagesPerField.get('${fieldName}')?no_esc}"; + + <#recover> + + } + + throw new Error("There is no " + fieldName + " field"); + <#else> + return ''; + }, "exists": function (fieldName) { - <#list fieldNames as fieldName> - if(fieldName === "${fieldName}" ){ - <#attempt> - return <#if messagesPerField.exists('${fieldName}')>true<#else>false; - <#recover> - - } - - throw new Error("There is no " + fieldName + " field"); + <#if messagesPerField?? > + <#list fieldNames as fieldName> + if(fieldName === "${fieldName}" ){ + <#attempt> + return <#if messagesPerField.exists('${fieldName}')>true<#else>false; + <#recover> + + } + + throw new Error("There is no " + fieldName + " field"); + <#else> + return false; + } }; @@ -137,6 +153,9 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc}; key == "identityProviderBrokerCtx" && are_same_path(path, []) && ["login-idp-link-confirm.ftl", "login-idp-link-email.ftl" ]?seq_contains(pageId) + ) || ( + ["masterAdminClient", "delegateForUpdate", "defaultRole"]?seq_contains(key) && + are_same_path(path, ["realm"]) ) > <#local out_seq += ["/*If you need '" + key + "' on " + pageId + ", please submit an issue to the Keycloakify repo*/"]>