corrections, but logging not yet valid

This commit is contained in:
henkej
2025-12-17 13:50:44 +01:00
parent 7bcc165004
commit 396f5c9fdf
5 changed files with 45 additions and 50 deletions

View File

@@ -1,77 +1,72 @@
plugins { plugins {
id 'org.springframework.boot' version '3.5.0' id 'org.springframework.boot' version '4.0.0'
id 'java' id 'java'
id 'war' id 'war'
} }
apply plugin: 'io.spring.dependency-management' apply plugin: 'io.spring.dependency-management'
group = 'de.jottyfan' group = 'de.jottyfan'
version = '1.5.9' version = '1.6.0'
description = """timetrack""" description = """timetrack"""
sourceCompatibility = 21 java {
targetCompatibility = 21 sourceCompatibility = 21
targetCompatibility = 21
}
repositories { repositories {
mavenLocal() mavenLocal()
mavenCentral() mavenCentral()
maven { url "https://www.jottyfan.de/libs" } maven { url "https://www.jottyfan.de/libs" }
maven { url "https://repo.maven.apache.org/maven2" } maven { url "https://repo.maven.apache.org/maven2" }
// maven { url "https://gitlab.com/jottyfan/libs/-/raw/main" }
} }
dependencies { dependencies {
implementation 'de.jottyfan:timetrackjooq:20240109' implementation 'de.jottyfan:timetrackjooq:20240109'
implementation 'org.apache.logging.log4j:log4j-api:2.25.2' implementation 'org.webjars:bootstrap:5.3.8'
implementation 'org.apache.logging.log4j:log4j-core:2.25.2' implementation 'org.webjars:font-awesome:7.1.0'
implementation 'org.apache.logging.log4j:log4j-to-slf4j:2.25.2' implementation 'org.webjars:jquery:3.7.1'
implementation 'org.webjars:popper.js:2.11.7'
implementation 'org.webjars:bootstrap:5.3.8' implementation 'org.webjars:datatables:2.3.5'
implementation 'org.webjars:font-awesome:7.0.1'
implementation 'org.webjars:jquery:3.7.1'
implementation 'org.webjars:popper.js:2.11.7'
implementation 'org.webjars:datatables:2.3.2'
implementation 'org.webjars:jquery-ui:1.14.1' implementation 'org.webjars:jquery-ui:1.14.1'
implementation 'org.webjars:fullcalendar:6.1.10' implementation 'org.webjars.npm:fullcalendar:6.1.19'
implementation 'com.google.code.gson:gson'; implementation 'com.google.code.gson:gson';
implementation 'org.springframework.boot:spring-boot-starter-jooq' implementation 'org.springframework.boot:spring-boot-starter-jooq'
implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-security'
implementation "org.springframework.boot:spring-boot-starter-oauth2-client" implementation "org.springframework.boot:spring-boot-starter-oauth2-client"
implementation 'org.springframework.security:spring-security-oauth2-authorization-server' implementation 'org.springframework.security:spring-security-oauth2-authorization-server'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-devtools' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:latest.release' implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:latest.release'
developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'org.postgresql:postgresql'
runtimeOnly 'org.postgresql:postgresql' testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.springframework.security:spring-security-test'
} }
war { war {
doFirst { doFirst {
manifest { manifest {
attributes("Implementation-Title": project.name, attributes("Implementation-Title": project.name,
"Implementation-Version": version, "Implementation-Version": version,
"Implementation-Timestamp": new Date()) "Implementation-Timestamp": new Date())
}
} }
archiveBaseName = project.name }
archiveVersion = version archiveBaseName = project.name
archiveFileName = 'timetrack.war' archiveVersion = version
archiveFileName = 'timetrack.war'
} }
test { test {
useJUnitPlatform() useJUnitPlatform()
} }
// add version to manifest // add version to manifest

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@@ -11,7 +11,6 @@ import org.springframework.security.oauth2.client.registration.InMemoryClientReg
import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.authentication.session.NullAuthenticatedSessionStrategy; import org.springframework.security.web.authentication.session.NullAuthenticatedSessionStrategy;
import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy; import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
/** /**
* *
@@ -35,7 +34,7 @@ public class SecurityConfiguration {
// @formatter:off // @formatter:off
.oauth2Login(o -> o.defaultSuccessUrl("/")) .oauth2Login(o -> o.defaultSuccessUrl("/"))
.logout(o -> o.logoutSuccessHandler(new OidcClientInitiatedLogoutSuccessHandler(crr))) .logout(o -> o.logoutSuccessHandler(new OidcClientInitiatedLogoutSuccessHandler(crr)))
.authorizeHttpRequests(o -> o.requestMatchers(AntPathRequestMatcher.antMatcher("/public/**"), AntPathRequestMatcher.antMatcher("/theme/**")).permitAll().anyRequest().authenticated()) .authorizeHttpRequests(o -> o.requestMatchers("/public/**", "/theme/**").permitAll().anyRequest().authenticated())
.oauth2ResourceServer(o -> o.jwt(Customizer.withDefaults())) .oauth2ResourceServer(o -> o.jwt(Customizer.withDefaults()))
.sessionManagement(o -> o.init(sec)); .sessionManagement(o -> o.init(sec));
// @formatter:on // @formatter:on

View File

@@ -45,7 +45,7 @@ body {
@media(min-width:1600px) { @media(min-width:1600px) {
.tabdivblurred { .tabdivblurred {
margin: auto; margin: auto;
width: 1111px; width: 1212px;
} }
} }
@@ -340,6 +340,7 @@ body {
padding: 4px; padding: 4px;
padding-right: 0px; padding-right: 0px;
margin-right: 4px; margin-right: 4px;
white-space: nowrap;
} }
.tab-pane-table { .tab-pane-table {

View File

@@ -6,8 +6,8 @@
<title>Timetrack</title> <title>Timetrack</title>
<link rel="stylesheet" type="text/css" th:href="@{/webjars/bootstrap/5.3.8/css/bootstrap.min.css}" /> <link rel="stylesheet" type="text/css" th:href="@{/webjars/bootstrap/5.3.8/css/bootstrap.min.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/webjars/datatables/2.3.2/css/dataTables.dataTables.min.css}" /> <link rel="stylesheet" type="text/css" th:href="@{/webjars/datatables/2.3.5/css/dataTables.dataTables.min.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/webjars/font-awesome/7.0.1/css/all.min.css}" /> <link rel="stylesheet" type="text/css" th:href="@{/webjars/font-awesome/7.1.0/css/all.min.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/webjars/fullcalendar/6.1.10/main.css}" /> <link rel="stylesheet" type="text/css" th:href="@{/webjars/fullcalendar/6.1.10/main.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/css/style.css}"> <link rel="stylesheet" type="text/css" th:href="@{/css/style.css}">
<link rel="stylesheet" type="text/css" th:href="@{/public/dynamicstyle.css}"> <link rel="stylesheet" type="text/css" th:href="@{/public/dynamicstyle.css}">
@@ -16,7 +16,7 @@
<script th:src="@{/webjars/jquery/3.7.1/jquery.min.js}"></script> <script th:src="@{/webjars/jquery/3.7.1/jquery.min.js}"></script>
<script th:src="@{/webjars/bootstrap/5.3.8/js/bootstrap.bundle.min.js}"></script> <script th:src="@{/webjars/bootstrap/5.3.8/js/bootstrap.bundle.min.js}"></script>
<script th:src="@{/webjars/datatables/2.3.2/js/dataTables.dataTables.min.js}"></script> <script th:src="@{/webjars/datatables/2.3.5/js/dataTables.dataTables.min.js}"></script>
<script th:src="@{/webjars/fullcalendar/6.1.10/main.js}"></script> <script th:src="@{/webjars/fullcalendar/6.1.10/main.js}"></script>
<script th:src="@{/js/helper.js}"></script> <script th:src="@{/js/helper.js}"></script>
<script th:src="@{/js/clock.js}"></script> <script th:src="@{/js/clock.js}"></script>