corrected username check and dropdown size, see #57

This commit is contained in:
Jottyfan 2023-09-21 21:32:18 +02:00
parent 497a4dfcf9
commit 12a325ee03
4 changed files with 12 additions and 7 deletions

View File

@ -8,7 +8,7 @@ plugins {
} }
group = 'de.jottyfan.camporganizer' group = 'de.jottyfan.camporganizer'
version = '0.5.6' version = '0.5.7'
description = """CampOrganizer2""" description = """CampOrganizer2"""

View File

@ -94,7 +94,7 @@ public class RegistrationRepository {
SelectConditionStep<TProfileRecord> sql = jooq SelectConditionStep<TProfileRecord> sql = jooq
// @formatter:off // @formatter:off
.selectFrom(T_PROFILE) .selectFrom(T_PROFILE)
.where(T_PROFILE.USERNAME.eq(login)); .where(DSL.lower(T_PROFILE.USERNAME).eq(login));
// @formatter:on // @formatter:on
LOGGER.debug(sql); LOGGER.debug(sql);
return sql.fetch().size() < 1; return sql.fetch().size() < 1;
@ -111,9 +111,9 @@ public class RegistrationRepository {
LambdaResultWrapper lrw = new LambdaResultWrapper(); LambdaResultWrapper lrw = new LambdaResultWrapper();
jooq.transaction(t -> { jooq.transaction(t -> {
if (bean.getLogin() != null && !bean.getLogin().isEmpty()) { if (bean.getLogin() != null && !bean.getLogin().isEmpty()) {
Boolean loginNotYetInUse = isLoginNotYetInUse(bean.getLogin()); Boolean loginNotYetInUse = isLoginNotYetInUse(bean.getLogin().toLowerCase());
if (bean.getRegisterInKeycloak() && !loginNotYetInUse) { if (bean.getRegisterInKeycloak() && !loginNotYetInUse) {
throw new DataAccessException("login already in use: " + bean.getLogin()); throw new DataAccessException("login already in use: " + bean.getLogin().toLowerCase());
} }
Integer fkProfile = null; Integer fkProfile = null;
if (loginNotYetInUse) { if (loginNotYetInUse) {
@ -127,7 +127,7 @@ public class RegistrationRepository {
T_PROFILE.PASSWORD, T_PROFILE.PASSWORD,
T_PROFILE.DUEDATE, T_PROFILE.DUEDATE,
T_PROFILE.UUID) T_PROFILE.UUID)
.values(bean.getForename(), bean.getSurname(), bean.getLogin(), oldPassword, LocalDateTime.now().plus(356, ChronoUnit.DAYS), UUID.nameUUIDFromBytes(bean.getLogin().getBytes()).toString()) .values(bean.getForename(), bean.getSurname(), bean.getLogin().toLowerCase(), oldPassword, LocalDateTime.now().plus(356, ChronoUnit.DAYS), UUID.nameUUIDFromBytes(bean.getLogin().getBytes()).toString())
.returning(T_PROFILE.PK); .returning(T_PROFILE.PK);
// @formatter:on // @formatter:on
LOGGER.debug(sql1.toString()); LOGGER.debug(sql1.toString());
@ -147,7 +147,7 @@ public class RegistrationRepository {
// @formatter:off // @formatter:off
.select(T_PROFILE.PK) .select(T_PROFILE.PK)
.from(T_PROFILE) .from(T_PROFILE)
.where(T_PROFILE.USERNAME.eq(bean.getLogin())); .where(DSL.lower(T_PROFILE.USERNAME).eq(bean.getLogin().toLowerCase()));
// @formatter:on // @formatter:on
LOGGER.debug(sql1.toString()); LOGGER.debug(sql1.toString());
fkProfile = sql1.fetchOne().get(T_PROFILE.PK); fkProfile = sql1.fetchOne().get(T_PROFILE.PK);

View File

@ -437,3 +437,8 @@ div {
.beforetext { .beforetext {
margin-right: 8px; margin-right: 8px;
} }
.visibledropdown {
max-height: 80vh;
overflow: auto;
}

View File

@ -38,7 +38,7 @@
<li class="nav-item"><a class="btn btn-icon-silent menufont" th:href="@{/verein}">Verein</a></li> <li class="nav-item"><a class="btn btn-icon-silent menufont" th:href="@{/verein}">Verein</a></li>
<li class="nav-item dropdown"><a class="nav-link dropdown-toggle btn-icon-silent menufont" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> <li class="nav-item dropdown"><a class="nav-link dropdown-toggle btn-icon-silent menufont" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Tagebuch </a> Tagebuch </a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown"> <ul class="dropdown-menu visibledropdown" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item menufont" th:href="@{/reports/olfenostern2023}">Osterfreizeit 2023 in Olfen</a></li> <li><a class="dropdown-item menufont" th:href="@{/reports/olfenostern2023}">Osterfreizeit 2023 in Olfen</a></li>
<li><hr class="dropdown-divider"></li> <li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item menufont" th:href="@{/reports/olfen2020}">Herbstfreizeit 2020 in Olfen</a></li> <li><a class="dropdown-item menufont" th:href="@{/reports/olfen2020}">Herbstfreizeit 2020 in Olfen</a></li>