booking module on dashboard added

This commit is contained in:
Jottyfan 2022-12-10 19:55:43 +01:00
parent 3e1e5e12ab
commit c936b39ad0
6 changed files with 22 additions and 13 deletions

View File

@ -45,6 +45,7 @@ public class IndexController extends CommonController {
model.addAttribute("mybookings", service.getBookingsOf(super.getCurrentUser(request)));
model.addAttribute("bookingBean", new BookingBean());
model.addAttribute("keycloakProfileUrl", keycloak.getUserClientUrl());
model.addAttribute("camps", service.getAllCamps());
return "/dashboard";
}

View File

@ -5,7 +5,6 @@ import java.time.LocalDate;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import org.springframework.format.annotation.DateTimeFormat;
@ -46,7 +45,6 @@ public class RegistrationBean implements Serializable {
private Integer fkCamp;
@NotNull(message = "Bitte gib an, in welcher Rolle du dich anmelden möchtest.")
private EnumCamprole campRole;
@NotNull(message = "Bitte gib an, ob du dir für spätere Anmeldungen einen Zugang einrichten willst.")
private Boolean registerInKeycloak;
private String login;
private String password;

View File

@ -48,7 +48,7 @@ public class RegistrationController extends CommonController {
model.addAttribute("camp", campBean);
return "/registration/registration";
}
Boolean result = service.register(bean, getCurrentUser(request));
Boolean result = service.register(bean, (String) model.getAttribute("currentUser"));
return result ? "/registration/success" : "/error";
}

View File

@ -20,3 +20,4 @@ ow.keycloak.admin.password = ${ow.keycloak.admin.password}
# for development only
server.port = 8081

View File

@ -10,10 +10,19 @@
<li class="nav-item"><a th:href="@{${keycloakProfileUrl}}" class="btn btn-secondary btn-icon-silent" target="_blank">Profil</a></li>
</ul>
<ul class="navbar-nav mb-2 mb-lg-0">
<li class="nav-item"><a th:href="@{/business}" class="btn btn-secondary btn-icon-silent" sec:authorize="hasRole('business')">Abrechnung</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle btn btn-secondary btn-icon-silent" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Buchen</a>
<ul class="dropdown-menu">
<li th:each="c : ${camps}"><a class="dropdown-item" th:href="@{/registration/{id}(id=${c.pk})}"><span th:text="${c.name}"></span>&nbsp;<span
th:text="${#numbers.formatInteger(c.year, 0)}" th:if="${c.year}"></span></a></li>
</ul>
<ul class="navbar-nav mb-2 mb-lg-0">
<li class="nav-item"><a th:href="@{/confirmation}" class="btn btn-secondary btn-icon-silent" sec:authorize="hasRole('registrator')">Bestätigung</a></li>
</li>
</ul>
<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('business')">
<li class="nav-item"><a th:href="@{/business}" class="btn btn-secondary btn-icon-silent">Abrechnung</a></li>
</ul>
<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('registrator')">
<li class="nav-item"><a th:href="@{/confirmation}" class="btn btn-secondary btn-icon-silent">Bestätigung</a></li>
</ul>
<ul class="navbar-nav mb-2 mb-lg-0">
<li class="nav-item"><a href="https://www.onkelwernerfreizeiten.de/cloud" class="btn btn-secondary btn-icon-silent" target="_blank">Nextcloud</a></li>

View File

@ -6,23 +6,23 @@
</head>
<body>
<th:block layout:fragment="header">
<ul class="navbar-nav mb-2 mb-lg-0">
<ul class="navbar-nav mb-2 mb-lg-0" th:if="${not #strings.isEmpty(currentUser)}">
<li class="nav-item"><a th:href="@{${keycloakProfileUrl}}" class="btn btn-secondary btn-icon-silent" target="_blank">Profil</a></li>
</ul>
<ul class="navbar-nav mb-2 mb-lg-0">
<li class="nav-item"><a th:href="@{/business}" class="btn btn-secondary btn-icon-silent" sec:authorize="hasRole('business')">Abrechnung</a></li>
<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('business')">
<li class="nav-item"><a th:href="@{/business}" class="btn btn-secondary btn-icon-silent">Abrechnung</a></li>
</ul>
<ul class="navbar-nav mb-2 mb-lg-0">
<li class="nav-item"><a th:href="@{/confirmation}" class="btn btn-secondary btn-icon-silent" sec:authorize="hasRole('registrator')">Bestätigung</a></li>
<ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('registrator')">
<li class="nav-item"><a th:href="@{/confirmation}" class="btn btn-secondary btn-icon-silent">Bestätigung</a></li>
</ul>
<ul class="navbar-nav mb-2 mb-lg-0">
<ul class="navbar-nav mb-2 mb-lg-0" th:if="${not #strings.isEmpty(currentUser)}">
<li class="nav-item"><a href="https://www.onkelwernerfreizeiten.de/cloud" class="btn btn-secondary btn-icon-silent" target="_blank">Nextcloud</a></li>
</ul>
</th:block>
<th:block layout:fragment="content">
<div class="mainpage">
<div class="alert alert-success">
Deine Anmeldung wurde entgegengenommen. Falls du dir auch ein Login eingerichtet hast, kannst du dich jetzt oben rechts einloggen und deine Anmeldung bearbeiten.
Deine Anmeldung wurde entgegengenommen. <span th:if="${#strings.isEmpty(currentUser)}">Falls du dir auch ein Login eingerichtet hast, kannst du dich jetzt oben rechts einloggen und deine Anmeldung bearbeiten.</span>
</div>
<div><a th:href="@{/}" class="btn btn-outline-secondary">zur Hauptseite</a></div>
</div>