Преглед изворни кода

Footer/Copyright sowie Tests überarbeitet.

Leonard Schulz пре 1 година
родитељ
комит
e75d1c40b4

+ 23 - 0
build.gradle

@@ -4,6 +4,10 @@ plugins {
     id 'java'
 }
 
+group = 'com.tsystems.inwo'
+version = '1.0.0'
+description = 'INWO VGL Service'
+
 java {
     toolchain {
         languageVersion = JavaLanguageVersion.of(21)
@@ -25,3 +29,22 @@ dependencies {
 test {
     useJUnitPlatform()
 }
+
+// Konfiguration für ausführbare JAR
+bootJar {
+    enabled = true
+    archiveFileName = 'inwo-vgl-service.jar'
+    mainClass = 'com.tsystems.inwo.vgl.InwoVglServiceApplication'
+}
+
+// Deaktiviere die normale JAR Task, da wir nur die Boot JAR benötigen
+jar {
+    enabled = false
+}
+
+// Task zum Erstellen der ausführbaren JAR
+task buildExecutableJar {
+    dependsOn bootJar
+    description = 'Erstellt eine ausführbare JAR-Datei'
+    group = 'build'
+}

+ 1 - 0
src/main/java/com/tsystems/inwo/vgl/web/TestController.java

@@ -11,6 +11,7 @@ public class TestController {
     public String test(Model model) {
         model.addAttribute("validate", true);
         model.addAttribute("schemaName", "haushalt-einkommen");
+        model.addAttribute("kunde", "Berlin");
         return "test";
     }
     

+ 20 - 0
src/main/resources/static/css/footer.css

@@ -0,0 +1,20 @@
+/* Footer Styles */
+.app-footer {
+    position: static;
+    width: 100%;
+    background-color: #f8f9fa;
+    border-top: 1px solid #dee2e6;
+    padding: 10px 0;
+    margin-top: 20px;
+}
+
+.footer-content {
+    text-align: center;
+    margin: 0;
+}
+
+.footer-content p {
+    margin: 0;
+    color: #6c757d;
+    font-size: 0.875rem;
+}

+ 4 - 3
src/main/resources/static/example-miete-alt.json

@@ -111,7 +111,7 @@
               ]
             },
             "ausstattung": {
-              "id": 100001,
+              "id": "100001",
               "flaeche": 65.50,
               "heizung": "FW",
               "bad": "D",
@@ -163,7 +163,7 @@
               "mitbewohner": []
             },
             "ausstattung": {
-              "id": 100002,
+              "id": "100002",
               "flaeche": 65.50,
               "heizung": "FW",
               "bad": "D",
@@ -181,6 +181,7 @@
           {
             "id": "zeitraum-3",
             "beginn": "2024-07-01",
+            "ende": null,
             "miete": {
               "id": "miete-3",
               "miete": 700.00,
@@ -243,7 +244,7 @@
               ]
             },
             "ausstattung": {
-              "id": 100003,
+              "id": "100003",
               "flaeche": 78.20,
               "heizung": "ZH",
               "bad": "V",

+ 1 - 1
src/main/resources/static/example-miete-neu.json

@@ -99,7 +99,7 @@
               ]
             },
             "ausstattung": {
-              "id": 200001,
+              "id": "200001",
               "flaeche": 72.80,
               "heizung": "ZH",
               "bad": "V",

+ 5 - 0
src/main/resources/templates/fehler.html

@@ -7,6 +7,7 @@
     <link rel="stylesheet" href="/css/header.css"/>
     <link rel="stylesheet" href="/css/legend.css"/>
     <link rel="stylesheet" href="/css/fehler.css"/>
+    <link rel="stylesheet" href="/css/footer.css"/>
 </head>
 <body>
     <div class="error-container">
@@ -66,5 +67,9 @@
     </div>
     
     <script src="/js/fehler.js"></script>
+
+    <!-- Footer-Fragment einbinden -->
+    <div th:replace="~{fragments/footer :: footer}"></div>
+
 </body>
 </html>

+ 14 - 0
src/main/resources/templates/fragments/footer.html

@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html lang="de" xmlns:th="http://www.thymeleaf.org">
+<head>
+    <!-- Fragment definition only -->
+</head>
+<body>
+    <!-- Footer Fragment -->
+    <footer th:fragment="footer" class="app-footer">
+        <div class="footer-content">
+            <p>&copy; 2025 Leonard Schulz (T-Systems)</p>
+        </div>
+    </footer>
+</body>
+</html>

+ 4 - 0
src/main/resources/templates/hhm-einkommen.html

@@ -8,6 +8,7 @@
     <link rel="stylesheet" href="/css/header.css"/>
     <link rel="stylesheet" href="/css/legend.css"/>
     <link rel="stylesheet" href="/css/hhm-einkommen.css"/>
+    <link rel="stylesheet" href="/css/footer.css"/>
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"/>
     <!-- JavaScript Module -->
     <script src="/js/cookie-utils.js"></script>
@@ -279,5 +280,8 @@
     </div>
   </main>
 
+  <!-- Footer-Fragment einbinden -->
+  <div th:replace="~{fragments/footer :: footer}"></div>
+
 </body>
 </html>

+ 4 - 0
src/main/resources/templates/miete.html

@@ -8,6 +8,7 @@
     <link rel="stylesheet" href="/css/header.css"/>
     <link rel="stylesheet" href="/css/legend.css"/>
     <link rel="stylesheet" href="/css/miete.css"/>
+    <link rel="stylesheet" href="/css/footer.css"/>
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"/>
     <!-- JavaScript Module -->
     <script src="/js/cookie-utils.js"></script>
@@ -280,5 +281,8 @@
     </div>
   </main>
 
+  <!-- Footer-Fragment einbinden -->
+  <div th:replace="~{fragments/footer :: footer}"></div>
+
 </body>
 </html>

+ 6 - 2
src/main/resources/templates/test.html

@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html lang="de" xmlns:th="http://www.thymeleaf.org">
-<head><meta charset="UTF-8"/><title>Vergleich – Test</title><link rel="stylesheet" href="/css/global.css"/><link rel="stylesheet" href="/css/header.css"/><link rel="stylesheet" href="/css/legend.css"/></head>
+<head><meta charset="UTF-8"/><title>Vergleich – Test</title><link rel="stylesheet" href="/css/global.css"/><link rel="stylesheet" href="/css/header.css"/><link rel="stylesheet" href="/css/legend.css"/><link rel="stylesheet" href="/css/footer.css"/></head>
 <body>
   <h1>Vergleich – Testseite</h1>
   
@@ -23,7 +23,7 @@
       <label>Kunde/Bundesland: 
         <select name="kunde">
           <option value="">-- Kein Logo --</option>
-          <option value="Berlin">Berlin</option>
+          <option value="Berlin" th:selected="${(kunde ?: 'Berlin') == 'Berlin'}">Berlin</option>
         </select>
       </label>
       <button type="submit">Vergleichen & anzeigen</button>
@@ -108,4 +108,8 @@
       }
     });
   </script>
+
+  <!-- Footer-Fragment einbinden -->
+  <div th:replace="~{fragments/footer :: footer}"></div>
+
 </body></html>