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("mybookings", service.getBookingsOf(super.getCurrentUser(request)));
model.addAttribute("bookingBean", new BookingBean()); model.addAttribute("bookingBean", new BookingBean());
model.addAttribute("keycloakProfileUrl", keycloak.getUserClientUrl()); model.addAttribute("keycloakProfileUrl", keycloak.getUserClientUrl());
model.addAttribute("camps", service.getAllCamps());
return "/dashboard"; return "/dashboard";
} }

View File

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

View File

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

View File

@ -20,3 +20,4 @@ ow.keycloak.admin.password = ${ow.keycloak.admin.password}
# for development only # for development only
server.port = 8081 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> <li class="nav-item"><a th:href="@{${keycloakProfileUrl}}" class="btn btn-secondary btn-icon-silent" target="_blank">Profil</a></li>
</ul> </ul>
<ul class="navbar-nav mb-2 mb-lg-0"> <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>
</li>
</ul> </ul>
<ul class="navbar-nav mb-2 mb-lg-0"> <ul class="navbar-nav mb-2 mb-lg-0" sec:authorize="hasRole('business')">
<li class="nav-item"><a th:href="@{/confirmation}" class="btn btn-secondary btn-icon-silent" sec:authorize="hasRole('registrator')">Bestätigung</a></li> <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>
<ul class="navbar-nav mb-2 mb-lg-0"> <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> <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> </head>
<body> <body>
<th:block layout:fragment="header"> <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> <li class="nav-item"><a th:href="@{${keycloakProfileUrl}}" class="btn btn-secondary btn-icon-silent" target="_blank">Profil</a></li>
</ul> </ul>
<ul class="navbar-nav mb-2 mb-lg-0"> <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" sec:authorize="hasRole('business')">Abrechnung</a></li> <li class="nav-item"><a th:href="@{/business}" class="btn btn-secondary btn-icon-silent">Abrechnung</a></li>
</ul> </ul>
<ul class="navbar-nav mb-2 mb-lg-0"> <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" sec:authorize="hasRole('registrator')">Bestätigung</a></li> <li class="nav-item"><a th:href="@{/confirmation}" class="btn btn-secondary btn-icon-silent">Bestätigung</a></li>
</ul> </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> <li class="nav-item"><a href="https://www.onkelwernerfreizeiten.de/cloud" class="btn btn-secondary btn-icon-silent" target="_blank">Nextcloud</a></li>
</ul> </ul>
</th:block> </th:block>
<th:block layout:fragment="content"> <th:block layout:fragment="content">
<div class="mainpage"> <div class="mainpage">
<div class="alert alert-success"> <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>
<div><a th:href="@{/}" class="btn btn-outline-secondary">zur Hauptseite</a></div> <div><a th:href="@{/}" class="btn btn-outline-secondary">zur Hauptseite</a></div>
</div> </div>