registration screen optimized, see #58
This commit is contained in:
parent
f31c433c80
commit
497a4dfcf9
@ -8,7 +8,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = 'de.jottyfan.camporganizer'
|
||||
version = '0.5.5'
|
||||
version = '0.5.6'
|
||||
|
||||
description = """CampOrganizer2"""
|
||||
|
||||
|
@ -34,7 +34,7 @@ public class SecurityConfiguration {
|
||||
// @formatter:off
|
||||
.oauth2Login(o -> o.defaultSuccessUrl("/"))
|
||||
.logout(o -> o.logoutSuccessHandler(new OidcClientInitiatedLogoutSuccessHandler(crr)))
|
||||
.authorizeHttpRequests(o -> o.requestMatchers("/dashboard/**", "/business/**", "/confirmation/**").authenticated()
|
||||
.authorizeHttpRequests(o -> o.requestMatchers("/dashboard/**", "/business/**", "/confirmation/**", "/userlogin/**").authenticated()
|
||||
.anyRequest().permitAll())
|
||||
.oauth2ResourceServer(o -> o.jwt(Customizer.withDefaults()))
|
||||
.sessionManagement(o -> o.init(sec));
|
||||
|
@ -44,6 +44,18 @@ public class RegistrationController extends CommonController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* userlogin is protected and leads the request to the keycloak login mask if not yet logged in
|
||||
*
|
||||
* @param fkCamp the ID of the camp
|
||||
* @param model the model
|
||||
* @return hen registration page
|
||||
*/
|
||||
@GetMapping("/userlogin/registration/{fkCamp}")
|
||||
public String loginIndex(@PathVariable(name = "fkCamp", required = true) Integer fkCamp, Model model) {
|
||||
return index(fkCamp, model);
|
||||
}
|
||||
|
||||
@PostMapping("/registration/register")
|
||||
public String register(@Valid @ModelAttribute("bean") RegistrationBean bean, final BindingResult bindingResult,
|
||||
Model model) {
|
||||
|
@ -11,6 +11,7 @@
|
||||
<h3 class="centered cabin" th:text="'zur ' + ${camp.name} + ' ' + ${camp.year}"></h3>
|
||||
<div class="card centered-card lindaborders" style="max-width: 48rem">
|
||||
<div class="card-body">
|
||||
<h1 class="centered cabin">Teilnehmeranmeldung</h1>
|
||||
<form th:action="@{/registration/register}" th:object="${bean}" method="post">
|
||||
<span class="error" th:each="error : ${#fields.errors('fkCamp')}">[[${error}]]</span>
|
||||
<input type="hidden" th:field="*{fkCamp}" />
|
||||
@ -77,14 +78,17 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" th:if="${#strings.isEmpty(currentUser)}">
|
||||
<div class="col-sm-12 rowdist">
|
||||
<div class="col-sm-6 rowdist">
|
||||
<div class="form-check" title="Die Anmeldedaten können in den Kontoeinstellungen bearbeitet und für die nächsten Freizeitanmeldungen verwendet werden.">
|
||||
<input id="save" type="checkbox" class="form-check-input" th:field="*{registerInKeycloak}" onchange="$('#createlogin').toggle();" /> <label class="form-check-label" for="save">Anmeldedaten
|
||||
speichern</label>
|
||||
<input id="save" type="checkbox" class="form-check-input" th:field="*{registerInKeycloak}" onchange="$('#createlogin').toggle();" /> <label class="form-check-label" for="save">Registrieren</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 rowdist">
|
||||
<a th:href="@{/userlogin/registration/{id}(id=${bean.fkCamp})}">oder einloggen</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="createlogin" class="row" th:if="${#strings.isEmpty(currentUser)}">
|
||||
<h1 class="centered cabin">Profildaten anlegen</h1>
|
||||
<div class="col-sm-6 rowdist">
|
||||
<div>Nutzername</div>
|
||||
<input type="text" th:field="*{login}" th:class="${'form-control ' + (#fields.hasErrors('login') ? 'inputerror' : '')}" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user