layout cleanup

This commit is contained in:
Jottyfan
2022-11-14 15:16:10 +01:00
parent 55ff76c29b
commit abeba4935c
18 changed files with 795 additions and 722 deletions

View File

@ -1,140 +1,145 @@
<!DOCTYPE html>
<html th:replace="~{template :: layout(~{::title}, ~{::libs}, ~{::header}, ~{::content})}" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<html xmlns:th="http://www.thymeleaf.org" layout:decorate="~{template}" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<head>
<title>Camp Organizer 2</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<libs></libs>
</head>
<body>
<header>
<a href="https://www.onkelwernerfreizeiten.de:8443/realms/ow/account/" class="btn btn-secondary btn-icon-silent" target="_blank">Profil</a>
<a th:href="@{/business}" class="btn btn-secondary btn-icon-silent" sec:authorize="hasRole('business')">Abrechnung</i></a>
<a th:href="@{/confirmation}" class="btn btn-secondary btn-icon-silent" sec:authorize="hasRole('registrator')">Bestätigung</i></a>
<a href="https://www.onkelwernerfreizeiten.de/cloud" class="btn btn-secondary btn-icon-silent" target="_blank">Nextcloud</a>
</header>
<content>
<div class="mainpage">
<script type="text/javascript">
function mark(e) {
$(e).css("background", "orange");
}
</script>
<div class="accordion" id="acc">
<div class="accordion-item" th:each="b : ${mybookings}">
<h2 class="accordion-header" th:id="'acc-head-' + ${b.pk}">
<button class="accordion-button collapsed" th:style="'background: ' + ${b.accept == null ? '#fdb' : (b.accept ? '#cfc' : '#fcc')}" type="button" data-bs-toggle="collapse"
th:data-bs-target="'#acc-body-' + ${b.pk}" aria-expanded="true" th:aria-controls="'#acc-body-' + ${b.pk}">
<i class="fas fa-check framed framed-green" th:if="${b.accept}"></i> <i class="fas fa-ban framed framed-red" th:if="${b.accept} == false"></i> <i
class="fas fa-question framed framed-orange" th:if="${b.accept} == null"></i> <span
th:text="${b.forename + ' ' + b.surname + ' in ' + b.campName + ' ' + #numbers.formatInteger(b.year, 4)}" style="font-weight: bolder"></span>&nbsp;in&nbsp;<span
th:text="${b.locationName}"></span>
</button>
</h2>
<div th:id="'acc-body-' + ${b.pk}" class="accordion-collapse collapse" th:aria-labelledby="'acc-head-' + ${b.pk}">
<div class="accordion-body">
<div class="card">
<div class="card-header">Freizeitdaten</div>
<div class="card-body">
<div class="container">
<div class="row">
<div class="col-sm-2">Ort:</div>
<div class="col-sm-10">
<a th:href="${b.url}" target="_blank" th:text="${b.locationName}"></a>
<th:block layout:fragment="header">
<ul class="navbar-nav mb-2 mb-lg-0">
<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>
<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>
<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>
</ul>
</th:block>
<th:block layout:fragment="content">
<div class="mainpage">
<script type="text/javascript">
function mark(e) {
$(e).css("background", "orange");
}
</script>
<div class="accordion" id="acc">
<div class="accordion-item" th:each="b : ${mybookings}">
<h2 class="accordion-header" th:id="'acc-head-' + ${b.pk}">
<button th:class="'accordion-button collapsed acc_' + ${b.accept}" type="button" data-bs-toggle="collapse" th:data-bs-target="'#acc-body-' + ${b.pk}" aria-expanded="true"
th:aria-controls="'#acc-body-' + ${b.pk}">
<i class="fas fa-check framed framed-green" th:if="${b.accept}"></i> <i class="fas fa-ban framed framed-red" th:if="${b.accept} == false"></i> <i
class="fas fa-question framed framed-orange" th:if="${b.accept} == null"></i> <span
th:text="${b.forename + ' ' + b.surname + ' in ' + b.campName + ' ' + #numbers.formatInteger(b.year, 4)}" style="font-weight: bolder"></span>&nbsp;in&nbsp;<span
th:text="${b.locationName}"></span>
</button>
</h2>
<div th:id="'acc-body-' + ${b.pk}" class="accordion-collapse collapse" th:aria-labelledby="'acc-head-' + ${b.pk}">
<div class="accordion-body">
<div class="card">
<div class="card-header">Freizeitdaten</div>
<div class="card-body">
<div class="container">
<div class="row">
<div class="col-sm-2">Ort:</div>
<div class="col-sm-10">
<a th:href="${b.url}" target="_blank" th:text="${b.locationName}"></a>
</div>
<div class="col-sm-2">Zeit:</div>
<div class="col-sm-10">
<span th:text="${#temporals.format(b.arrive, 'dd.MM.') + ' - ' + #temporals.format(b.depart, 'dd.MM.yyyy')}" th:if="${b.arrive != null and b.depart != null}"></span>
</div>
<div class="col-sm-2">Preis:</div>
<div class="col-sm-10" th:text="${b.price}"></div>
<div class="col-sm-2">Ferien:</div>
<div class="col-sm-10" th:text="${b.countries}"></div>
</div>
<div class="col-sm-2">Zeit:</div>
<div class="col-sm-10">
<span th:text="${#temporals.format(b.arrive, 'dd.MM.') + ' - ' + #temporals.format(b.depart, 'dd.MM.yyyy')}" th:if="${b.arrive != null and b.depart != null}"></span>
</div>
<div class="col-sm-2">Preis:</div>
<div class="col-sm-10" th:text="${b.price}"></div>
<div class="col-sm-2">Ferien:</div>
<div class="col-sm-10" th:text="${b.countries}"></div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header">Teilnehmerdaten</div>
<div class="card-body">
<form th:action="@{/dashboard/update/}" th:object="${b}" method="post">
<input type="hidden" th:value="*{pk}" name="pk" />
<div class="container">
<div class="row mb-2">
<div class="col-sm-2">Rolle:</div>
<span class="col-sm-10"> <span th:if="${b.isTeacher()}">Mitarbeiter</span> <span th:if="${b.isStudent()}">Teilnehmer</span> <span th:if="${b.isDirector()}">Leiter</span> <span
th:if="${b.isFeeder()}">Küchenteam</span>
</span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Geschlecht:</div>
<span class="col-sm-10">
<span th:if="${b.isMale()}">männlich</span>
<span th:if="${b.isFemale()}">weiblich</span>
<i class="fas fa-info framed framed-white" title="Änderungen am Geschlecht wirken sich auch auf den Anmeldestatus aus. Wenn Du Dein Geschlecht ändern möchtest, lösche bitte diese Anmeldung und leg eine neue an. Dann wird neu entschieden, ob noch ein Platz frei ist."></i>
</span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Vorname:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{forename}" name="forename" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Nachname:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{surname}" name="surname" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Straße:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{street}" name="street" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">PLZ:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{zip}" name="zip" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Ort:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{city}" name="city" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Telefon:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{phone}" name="phone" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Geburtstag:</div>
<span class="col-sm-10" th:text="${#temporals.format(b.birthdate, 'dd.MM.yyyy')}"></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">E-Mail:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{email}" name="email" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Foto-Einverständnis:</div>
<span class="col-sm-10" th:text="${b.consentCatalogPhoto ? 'ja' : 'nein'}"></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Kommentar:</div>
<span class="col-sm-10"><textarea class="form-control" th:text="*{comment}" name="comment" onchange="mark(this)"></textarea></span>
</div>
<div class="row mb-2">
<div class="col-sm-2"></div>
<div class="col-sm-10">
<input type="submit" class="btn btn-primary" value="Änderungen übernehmen" />
<div class="card">
<div class="card-header">Teilnehmerdaten</div>
<div class="card-body">
<form th:action="@{/dashboard/update/}" th:object="${b}" method="post">
<input type="hidden" th:value="*{pk}" name="pk" />
<div class="container">
<div class="row mb-2">
<div class="col-sm-2">Rolle:</div>
<span class="col-sm-10"> <span th:if="${b.isTeacher()}">Mitarbeiter</span> <span th:if="${b.isStudent()}">Teilnehmer</span> <span th:if="${b.isDirector()}">Leiter</span> <span
th:if="${b.isFeeder()}">Küchenteam</span>
</span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Geschlecht:</div>
<span class="col-sm-10"> <span th:if="${b.isMale()}">männlich</span> <span th:if="${b.isFemale()}">weiblich</span> <i class="fas fa-info framed framed-white"
title="Änderungen am Geschlecht wirken sich auch auf den Anmeldestatus aus. Wenn Du Dein Geschlecht ändern möchtest, lösche bitte diese Anmeldung und leg eine neue an. Dann wird neu entschieden, ob noch ein Platz frei ist."></i>
</span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Vorname:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{forename}" name="forename" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Nachname:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{surname}" name="surname" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Straße:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{street}" name="street" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">PLZ:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{zip}" name="zip" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Ort:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{city}" name="city" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Telefon:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{phone}" name="phone" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Geburtstag:</div>
<span class="col-sm-10" th:text="${#temporals.format(b.birthdate, 'dd.MM.yyyy')}"></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">E-Mail:</div>
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{email}" name="email" onchange="mark(this)" /></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Foto-Einverständnis:</div>
<span class="col-sm-10" th:text="${b.consentCatalogPhoto ? 'ja' : 'nein'}"></span>
</div>
<div class="row mb-2">
<div class="col-sm-2">Kommentar:</div>
<span class="col-sm-10"><textarea class="form-control" th:text="*{comment}" name="comment" onchange="mark(this)"></textarea></span>
</div>
<div class="row mb-2">
<div class="col-sm-2"></div>
<div class="col-sm-10">
<input type="submit" class="btn btn-primary" value="Änderungen übernehmen" />
</div>
</div>
</div>
</div>
</form>
</form>
</div>
</div>
<div class="alert alert-primary" th:if="${b.created != null}">
angemeldet am <span th:text="${#temporals.format(b.created, 'dd.MM.yyyy')}"></span> von <span th:text="${b.subscriber}"></span>
</div>
<div th:class="'alert ' + ${b.accept ? 'alert-success' : 'alert-danger'}" th:if="${b.accept != null}">
<span th:text="${b.accept ? 'bestätigt' : 'abgelehnt'}"></span> von <span th:text="${b.registrator}"></span>
</div>
<div class="alert alert-warning" th:if="${b.isOver}">Die Freizeit ist bereits vorbei.</div>
</div>
<div class="alert alert-primary" th:if="${b.created != null}">
angemeldet am <span th:text="${#temporals.format(b.created, 'dd.MM.yyyy')}"></span> von <span th:text="${b.subscriber}"></span>
</div>
<div th:class="'alert ' + ${b.accept ? 'alert-success' : 'alert-danger'}" th:if="${b.accept != null}">
<span th:text="${b.accept ? 'bestätigt' : 'abgelehnt'}"></span> von <span th:text="${b.registrator}"></span>
</div>
<div class="alert alert-warning" th:if="${b.isOver}">Die Freizeit ist bereits vorbei.</div>
</div>
</div>
</div>
</div>
</div>
</content>
</th:block>
</body>
</html>