Jottyfan 2023-01-26 20:39:26 +01:00
parent 0bb92f511c
commit e6e625306d
10 changed files with 47 additions and 16 deletions

View File

@ -18,7 +18,7 @@ apply plugin: 'war'
apply plugin: 'application' apply plugin: 'application'
group = 'de.jottyfan.camporganizer' group = 'de.jottyfan.camporganizer'
version = '0.2.7' version = '0.2.8'
sourceCompatibility = 17 sourceCompatibility = 17
mainClassName = "de.jottyfan.camporganizer.Main" mainClassName = "de.jottyfan.camporganizer.Main"

View File

@ -69,4 +69,11 @@ public class RegistrationController extends CommonController {
service.removeBooking(id); service.removeBooking(id);
return "redirect:/dashboard"; return "redirect:/dashboard";
} }
@GetMapping("/registration/toggleconsent/{id}")
public String toggleConsent(@PathVariable Integer id, final Model model) {
super.setupSession(model, request);
service.toggleConsent(id);
return "redirect:/dashboard";
}
} }

View File

@ -295,7 +295,8 @@ public class RegistrationGateway {
rssMessage.append(" hat die Buchung von "); rssMessage.append(" hat die Buchung von ");
rssMessage.append(forename).append(" ").append(surname); rssMessage.append(forename).append(" ").append(surname);
rssMessage.append(" an "); rssMessage.append(" an ");
rssMessage.append(campname).append(" ").append(arrive == null ? "" : arrive.format(DateTimeFormatter.ofPattern("YYYY"))); rssMessage.append(campname).append(" ")
.append(arrive == null ? "" : arrive.format(DateTimeFormatter.ofPattern("YYYY")));
rssMessage.append(" storniert."); rssMessage.append(" storniert.");
DeleteConditionStep<TPersondocumentRecord> sql1 = DSL.using(t).deleteFrom(T_PERSONDOCUMENT) DeleteConditionStep<TPersondocumentRecord> sql1 = DSL.using(t).deleteFrom(T_PERSONDOCUMENT)
@ -345,8 +346,7 @@ public class RegistrationGateway {
/** /**
* remove login * remove login
* *
* @param bean * @param bean containing username of dataset to be removed
* containing username of dataset to be removed
* @throws DataAccessExceptionF * @throws DataAccessExceptionF
*/ */
public void removeLogin(ProfileBean bean) throws DataAccessException { public void removeLogin(ProfileBean bean) throws DataAccessException {
@ -392,4 +392,22 @@ public class RegistrationGateway {
sql3.execute(); sql3.execute();
}); });
} }
/**
* toggle the consent for photo
*
* @param id the ID of the person
*/
public void toggleConsent(Integer id) {
Boolean consent = jooq.selectFrom(T_PERSON).where(T_PERSON.PK.eq(id)).fetchOne().getConsentCatalogPhoto();
consent = consent == null ? true : !consent;
UpdateConditionStep<TPersonRecord> sql = jooq
// @formatter:off
.update(T_PERSON)
.set(T_PERSON.CONSENT_CATALOG_PHOTO, consent)
.where(T_PERSON.PK.eq(id));
// @formatter:on
LOGGER.debug("{}", sql.toString());
sql.execute();
}
} }

View File

@ -78,4 +78,8 @@ public class RegistrationService {
public Boolean removeBooking(Integer id) { public Boolean removeBooking(Integer id) {
return gateway.removeBooking(id) > 0; return gateway.removeBooking(id) > 0;
} }
public void toggleConsent(Integer id) {
gateway.toggleConsent(id);
}
} }

View File

@ -122,6 +122,7 @@ html {
body { body {
font-family: Monserrat, sans-serif; font-family: Monserrat, sans-serif;
background-image: url('../images/background.jpg');
} }
a { a {

View File

@ -24,7 +24,7 @@
<strong>Preise, Termine und weitere Infos findest du in unserem Buchungsportal.</strong> <strong>Preise, Termine und weitere Infos findest du in unserem Buchungsportal.</strong>
</p> </p>
<p> <p>
<a href="#top" onclick="template.reload_main('anmeldung.html')">Jetzt Freizeiten entdecken</a> <a href="/CampOrganizer2/camplist">Jetzt Freizeiten entdecken</a>
</p> </p>
<h2>Kinderfreizeiten in Olfen</h2> <h2>Kinderfreizeiten in Olfen</h2>
<p>Jede Menge Kinder in deinem Alter, viele coole Spiele, Sommerrodeln und spannende biblische Geschichten…</p> <p>Jede Menge Kinder in deinem Alter, viele coole Spiele, Sommerrodeln und spannende biblische Geschichten…</p>
@ -133,6 +133,6 @@
<strong>Preise, Termine und weitere Infos findest du in unserem Buchungsportal.</strong> <strong>Preise, Termine und weitere Infos findest du in unserem Buchungsportal.</strong>
</p> </p>
<p> <p>
<a href="#top" onclick="template.reload_main('anmeldung.html')">Jetzt Freizeiten entdecken</a> <a href="/CampOrganizer2/camplist">Jetzt Freizeiten entdecken</a>
</p> </p>
</div> </div>

View File

@ -16,7 +16,7 @@
</head> </head>
<body> <body>
<nav id="menubar" class="navbar sticky-top navbar-expand-lg navbar-light bg-light headerlayout"> <nav id="menubar" class="navbar sticky-top navbar-expand-lg navbar-light bg-light headerlayout">
<a class="navbar-brand" href="https://www.onkelwernerfreizeiten.de"><img src="images/logo.png" /></a> <a class="navbar-brand" href="https://www.onkelwernerfreizeiten.de"><img src="images/logo.png" width="128px" /></a>
<button id="navbar-toggler" class="navbar-toggler gray-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" <button id="navbar-toggler" class="navbar-toggler gray-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
@ -27,7 +27,7 @@
<div class="collapse navbar-collapse navbar-right" id="navbarSupportedContent"> <div class="collapse navbar-collapse navbar-right" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav mr-auto">
<li class="nav-item"><a class="nav-link" href="#top" onclick="template.reload_main('freizeiten.html')">Freizeiten</a></li> <li class="nav-item"><a class="nav-link" href="#top" onclick="template.reload_main('freizeiten.html')">Freizeiten</a></li>
<li class="nav-item"><a class="nav-link" href="#top" onclick="template.reload_main('anmeldung.html')">Anmeldung</a></li> <li class="nav-item"><a class="nav-link" href="/CampOrganizer2/camplist">Anmeldung</a></li>
<li class="nav-item"><a class="nav-link" href="#top" onclick="template.reload_main('verein.html')">Verein</a></li> <li class="nav-item"><a class="nav-link" href="#top" onclick="template.reload_main('verein.html')">Verein</a></li>
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
@ -63,7 +63,6 @@
</ul> </ul>
</li> </li>
<li class="nav-item"><a class="nav-link" href="#top" onclick="template.reload_main('kontakt.html')">Kontakt</a></li> <li class="nav-item"><a class="nav-link" href="#top" onclick="template.reload_main('kontakt.html')">Kontakt</a></li>
<li class="nav-item"><a class="nav-link" href="#top" onclick="template.switch_mode()" id="darkmodebutton">Kinomodus</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>

View File

@ -10,6 +10,6 @@
<h4 style="text-align: left">Erfahre hier, welche Freizeiten wir anbieten und was da so abgeht.</h4> <h4 style="text-align: left">Erfahre hier, welche Freizeiten wir anbieten und was da so abgeht.</h4>
<p style="text-align: left">Preise, Termine und weitere Infos findest du in unserem Buchungsportal.</p> <p style="text-align: left">Preise, Termine und weitere Infos findest du in unserem Buchungsportal.</p>
<p style="text-align: left"> <p style="text-align: left">
<a href="#top" onclick="template.reload_main('anmeldung.html')">Jetzt Freizeiten entdecken</a> <a href="/CampOrganizer2/camplist">Jetzt Freizeiten entdecken</a>
</p> </p>
</div> </div>

View File

@ -11,7 +11,7 @@
</li> </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 class="btn btn-icon-silent menufont" th:href="@{/}">Unsere Freizeiten</a></li> <li class="nav-item"><a class="btn btn-icon-silent menufont" th:href="@{/}">Startseite</a></li>
</ul> </ul>
</th:block> </th:block>
<th:block layout:fragment="content"> <th:block layout:fragment="content">

View File

@ -181,8 +181,10 @@
<span class="col-sm-10"><input type="text" class="form-control" th:value="*{email}" name="email" onchange="mark(this)" /></span> <span class="col-sm-10"><input type="text" class="form-control" th:value="*{email}" name="email" onchange="mark(this)" /></span>
</div> </div>
<div class="row mb-2"> <div class="row mb-2">
<div class="col-sm-6">Foto-Einverständnis:</div> <div class="col-sm-12">Foto-Einverständnis:&nbsp;
<span class="col-sm-6"><span th:text="${b.consentCatalogPhoto ? 'ja' : 'nein'}" th:if="${b.consentCatalogPhoto}"></span></span> <a th:href="@{/registration/toggleconsent/{id}/(id=${b.pk})}" th:if="${!b.consentCatalogPhoto}"><i class="fas fa-ban framed framed-red" ></i></a>
<a th:href="@{/registration/toggleconsent/{id}/(id=${b.pk})}" th:if="${b.consentCatalogPhoto}"><i class="fas fa-check framed framed-green" ></i></a>
</div>
</div> </div>
<div class="row mb-2"> <div class="row mb-2">
<div class="col-sm-2">Kommentar:</div> <div class="col-sm-2">Kommentar:</div>