You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
8.2 KiB

3 years ago
2 years ago
2 years ago
2 years ago
  1. <#import "template.ftl" as layout>
  2. <@layout.registrationLayout displayMessage=!messagesPerField.existsError('firstName','lastName','email','username','password','password-confirm'); section>
  3. <#if section = "header">
  4. <div class="welcome-container">
  5. <div class="header-login-welcome">${msg("welcome")}</div>
  6. <#if realm.internationalizationEnabled && locale.supported?size gt 1>
  7. <div id="kc-locale">
  8. <div id="kc-locale-wrapper" class="${properties.kcLocaleWrapperClass!}">
  9. <div class="kc-dropdown" id="kc-locale-dropdown">
  10. <a href="#" id="kc-current-locale-link">${locale.current}</a>
  11. <ul>
  12. <#list locale.supported as l>
  13. <#if locale.current==l.label>
  14. <li class="kc-dropdown-item selected ${l.label}"><a href="${l.url}">${l.label}</a></li>
  15. <#else>
  16. <li class="kc-dropdown-item ${l.label}"><a href="${l.url}">${l.label}</a></li>
  17. </#if>
  18. </#list>
  19. </ul>
  20. </div>
  21. </div>
  22. </div>
  23. </#if>
  24. </div>
  25. <div class="header-login-title">${msg("registerTitle")} <br /> ${msg("registerTitle1")}</div>
  26. <#elseif section = "form">
  27. <form id="kc-register-form" action="${url.registrationAction}" method="post">
  28. <div>
  29. <div class="${properties.kcFormGroupClass!} register-form">
  30. <input type="text" id="email" class="${properties.kcInputClass!}" name="email"
  31. value="${(register.formData.email!'')}" autocomplete="off"
  32. placeholder=${msg("email")}
  33. aria-invalid="<#if messagesPerField.existsError('email')>true</#if>"
  34. />
  35. <label class="login-form-input-label">${msg("email")}</label>
  36. <#if messagesPerField.existsError('email')>
  37. <div id="input-error-email" class="${properties.kcInputErrorMessageClass!}" aria-live="polite">
  38. ${kcSanitize(messagesPerField.get('email'))?no_esc}
  39. </div>
  40. </#if>
  41. </div>
  42. <#if passwordRequired??>
  43. <div class="${properties.kcFormGroupClass!} register-form">
  44. <input type="password" id="password" class="${properties.kcInputClass!}" name="password"
  45. autocomplete="off"
  46. placeholder=${msg("password")}
  47. aria-invalid="<#if messagesPerField.existsError('password','password-confirm')>true</#if>"
  48. />
  49. <label for="password" class="login-form-input-label">${msg("password")}</label>
  50. <#if messagesPerField.existsError('password')>
  51. <div id="input-error-password" class="${properties.kcInputErrorMessageClass!}" aria-live="polite">
  52. ${kcSanitize(messagesPerField.get('password'))?no_esc}
  53. </div>
  54. </#if>
  55. </div>
  56. <div class="${properties.kcFormGroupClass!}">
  57. <input type="password" id="password-confirm" class="${properties.kcInputClass!}"
  58. name="password-confirm" autocomplete="off"
  59. placeholder=${msg("passwordConfirm")}
  60. aria-invalid="<#if messagesPerField.existsError('password-confirm')>true</#if>"
  61. />
  62. <label for="password-confirm"
  63. class="login-form-input-label">${msg("passwordConfirm")}</label>
  64. <#if messagesPerField.existsError('password-confirm')>
  65. <div id="input-error-password-confirm" class="${properties.kcInputErrorMessageClass!}" aria-live="polite">
  66. ${kcSanitize(messagesPerField.get('password-confirm'))?no_esc}
  67. </div>
  68. </#if>
  69. </div>
  70. </#if>
  71. </div>
  72. <#if !realm.registrationEmailAsUsername>
  73. <div>
  74. <div>
  75. <label for="username" class="${properties.kcLabelClass!}">${msg("username")}</label>
  76. </div>
  77. <div>
  78. <input type="text" id="username" name="username"
  79. value="${(register.formData.username!'')}" autocomplete="off"
  80. aria-invalid="<#if messagesPerField.existsError('username')>true</#if>"
  81. />
  82. <#if messagesPerField.existsError('username')>
  83. <div id="input-error-username" class="${properties.kcInputErrorMessageClass!}" aria-live="polite">
  84. ${kcSanitize(messagesPerField.get('username'))?no_esc}
  85. </div>
  86. </#if>
  87. </div>
  88. </div>
  89. </#if>
  90. <#if recaptchaRequired??>
  91. <div class="form-group">
  92. <div class="${properties.kcInputWrapperClass!}">
  93. <div class="g-recaptcha" data-size="compact" data-sitekey="${recaptchaSiteKey}"></div>
  94. </div>
  95. </div>
  96. </#if>
  97. <div class="${properties.kcFormGroupClass!}">
  98. <div id="kc-form-buttons">
  99. <input class="${properties.kcButtonClass!} ${properties.kcButtonBlockClass!} ${properties.kcButtonLargeClass!}" type="submit" value="${msg("doRegister")}"/>
  100. </div>
  101. <#if realm.internationalizationEnabled && locale.supported?size gt 1>
  102. <#if locale.current="Deutsch">
  103. <div class="signup-terms">
  104. Mit der Registrierung erklären Sie sich mit den
  105. <a href="https://app.jplus-pilot.com/legal/tos_de.html">Nutzungsbedingungen</a> und der
  106. <a href="https://app.jplus-pilot.com/legal/gdpr_de.html">Datenschutzerklärung</a> von Juice einverstanden.
  107. </div>
  108. <#else>
  109. <div class="signup-terms">
  110. By signing up, you agree to Juice's
  111. <a href="https://app.jplus-pilot.com/legal/tos_en.html">ToS</a> and
  112. <a href=" https://app.jplus-pilot.com/legal/gdpr_en.html">Privacy</a>
  113. </div>
  114. </#if>
  115. </#if>
  116. </div>
  117. <div>
  118. <div class="${properties.kcFormGroupClass!} ${properties.kcFormSettingClass!}">
  119. <#if realm.password && realm.registrationAllowed && !registrationDisabled??>
  120. <div id="kc-registration-container">
  121. <div id="kc-registration" class="kc-registration-signup">
  122. <span>
  123. <span>${msg("haveAccount")}</span>
  124. <a tabindex="6" href="${url.loginUrl}">${msg("signInHere")}</a></span>
  125. </div>
  126. </div>
  127. </#if>
  128. <div id="kc-form-options" class="signup-password">
  129. <#if realm.resetPasswordAllowed>
  130. <span><a tabindex="5" href="${url.loginResetCredentialsUrl}">${msg("doForgotPassword")}</a></span>
  131. </#if>
  132. </div>
  133. </div>
  134. </div>
  135. </form>
  136. </#if>
  137. </@layout.registrationLayout>
  138. <div class="juice-footer"> © 2020-2021, <span>Juice World</span> </div>