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.
106 lines
6.6 KiB
106 lines
6.6 KiB
<#import "template.ftl" as layout>
|
|
<#import "user-profile-commons.ftl" as userProfileCommons>
|
|
<#import "register-commons.ftl" as registerCommons>
|
|
<@layout.registrationLayout displayMessage=messagesPerField.exists('global') displayRequiredFields=true; section>
|
|
<#if section = "header">
|
|
<#if messageHeader??>
|
|
${kcSanitize(msg("${messageHeader}"))?no_esc}
|
|
<#else>
|
|
${msg("registerTitle")}
|
|
</#if>
|
|
<#elseif section = "form">
|
|
<form id="kc-register-form" class="${properties.kcFormClass!}" action="${url.registrationAction}" method="post">
|
|
|
|
<@userProfileCommons.userProfileFormFields; callback, attribute>
|
|
<#if callback = "afterField">
|
|
<#-- render password fields just under the username or email (if used as username) -->
|
|
<#if passwordRequired?? && (attribute.name == 'username' || (attribute.name == 'email' && realm.registrationEmailAsUsername))>
|
|
<div class="${properties.kcFormGroupClass!}">
|
|
<label for="password" class="${properties.kcLabelClass!}">
|
|
<span class="pf-v5-c-form__label-text">
|
|
${msg("password")}
|
|
<span class="pf-v5-c-form__label-required" aria-hidden="true">*</span>
|
|
</span>
|
|
</label>
|
|
<span class="${properties.kcInputGroup!}">
|
|
<span class="${properties.kcInputClass!}">
|
|
<input type="password" id="password" name="password"
|
|
autocomplete="new-password"
|
|
aria-invalid="<#if messagesPerField.existsError('password','password-confirm')>true</#if>"
|
|
/>
|
|
</span>
|
|
<button class="${properties.kcFormPasswordVisibilityButtonClass!}" type="button" aria-label="${msg('showPassword')}"
|
|
aria-controls="password" data-password-toggle
|
|
data-icon-show="${properties.kcFormPasswordVisibilityIconShow!}" data-icon-hide="${properties.kcFormPasswordVisibilityIconHide!}"
|
|
data-label-show="${msg('showPassword')}" data-label-hide="${msg('hidePassword')}">
|
|
<i class="${properties.kcFormPasswordVisibilityIconShow!}" aria-hidden="true"></i>
|
|
</button>
|
|
</span>
|
|
|
|
<#if messagesPerField.existsError('password')>
|
|
<span id="input-error-password" class="${properties.kcInputErrorMessageClass!}" aria-live="polite">
|
|
${kcSanitize(messagesPerField.get('password'))?no_esc}
|
|
</span>
|
|
</#if>
|
|
</div>
|
|
|
|
<div class="${properties.kcFormGroupClass!}">
|
|
<div class="${properties.kcLabelWrapperClass!}">
|
|
<label for="password-confirm" class="${properties.kcLabelClass!}">
|
|
<span class="pf-v5-c-form__label-text">
|
|
${msg("passwordConfirm")}
|
|
<span class="pf-v5-c-form__label-required" aria-hidden="true">*</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
<div class="${properties.kcInputGroup!}">
|
|
<span class="${properties.kcInputClass!}">
|
|
<input type="password" id="password-confirm"
|
|
name="password-confirm"
|
|
aria-invalid="<#if messagesPerField.existsError('password-confirm')>true</#if>"
|
|
/>
|
|
</span>
|
|
<button class="${properties.kcFormPasswordVisibilityButtonClass!}" type="button" aria-label="${msg('showPassword')}"
|
|
aria-controls="password-confirm" data-password-toggle
|
|
data-icon-show="${properties.kcFormPasswordVisibilityIconShow!}" data-icon-hide="${properties.kcFormPasswordVisibilityIconHide!}"
|
|
data-label-show="${msg('showPassword')}" data-label-hide="${msg('hidePassword')}">
|
|
<i class="${properties.kcFormPasswordVisibilityIconShow!}" aria-hidden="true"></i>
|
|
</button>
|
|
</div>
|
|
|
|
<#if messagesPerField.existsError('password-confirm')>
|
|
<span id="input-error-password-confirm" class="${properties.kcInputErrorMessageClass!}" aria-live="polite">
|
|
${kcSanitize(messagesPerField.get('password-confirm'))?no_esc}
|
|
</span>
|
|
</#if>
|
|
</div>
|
|
</#if>
|
|
</#if>
|
|
</@userProfileCommons.userProfileFormFields>
|
|
|
|
<@registerCommons.termsAcceptance/>
|
|
|
|
<#if recaptchaRequired??>
|
|
<div class="form-group">
|
|
<div class="${properties.kcInputWrapperClass!}">
|
|
<div class="g-recaptcha" data-size="compact" data-sitekey="${recaptchaSiteKey}"></div>
|
|
</div>
|
|
</div>
|
|
</#if>
|
|
|
|
<div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
|
|
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonBlockClass!} ${properties.kcButtonLargeClass!}" type="submit" value="${msg("doRegister")}"/>
|
|
</div>
|
|
<div class="${properties.kcFormGroupClass!} pf-v5-c-login__main-footer-band">
|
|
<div id="kc-form-options" class="${properties.kcFormOptionsClass!} pf-v5-c-login__main-footer-band-item">
|
|
<div class="${properties.kcFormOptionsWrapperClass!}">
|
|
<span><a href="${url.loginUrl}">${kcSanitize(msg("backToLogin"))?no_esc}</a></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
<script type="module" src="${url.resourcesPath}/js/passwordVisibility.js"></script>
|
|
</#if>
|
|
</@layout.registrationLayout>
|