impl Warehouse
This commit is contained in:
parent
2fc0b54716
commit
58473e58a3
|
@ -18,6 +18,8 @@ import java.util.UUID;
|
|||
@Controller
|
||||
public class RequestController {
|
||||
|
||||
static int notSoRandom = 0;
|
||||
|
||||
@GetMapping("/")
|
||||
public String home() {
|
||||
return "redirect:/shop/";
|
||||
|
@ -209,11 +211,36 @@ public class RequestController {
|
|||
|
||||
@GetMapping("/intern/warehouse/")
|
||||
public String accountingWarehouse() {
|
||||
return "/intern/warehouse/";
|
||||
return "/intern/warehouse/index";
|
||||
}
|
||||
|
||||
@GetMapping("/intern/warehouse/todo")
|
||||
public String accountingWarehouseTodo() {
|
||||
return "/intern/warehouse/todo";
|
||||
}
|
||||
|
||||
@GetMapping("/intern/warehouse/addManual")
|
||||
public String accountingWarehouseAddManual() {
|
||||
return "/intern/warehouse/addManual";
|
||||
}
|
||||
|
||||
@PostMapping("/intern/warehouse/progress/{id}")
|
||||
public String accountingWarehouseProgressIdPost(HttpServletResponse response) {
|
||||
if((notSoRandom++) % 2 == 1) {
|
||||
return "redirect:/intern/warehouse/progress/450";
|
||||
} else {
|
||||
response.setStatus(409);
|
||||
return "/intern/warehouse/error_progress_failed";
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/intern/warehouse/progress/{id}")
|
||||
public String accountingWarehouseProgressId() {
|
||||
return "/intern/warehouse/id_progress";
|
||||
}
|
||||
|
||||
@GetMapping("/intern/warehouse/slots/")
|
||||
public String accountingWarehouseSlots() {
|
||||
return "/intern/warehouse/slots/index";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -360,6 +360,8 @@ input[type="password"]::placeholder {
|
|||
}
|
||||
|
||||
button, .button {
|
||||
display: inline-block;
|
||||
|
||||
font-family: "Fira Mono";
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
|
@ -535,7 +537,7 @@ input[type="number"]:focus {
|
|||
|
||||
.detailgrid {
|
||||
display: grid;
|
||||
grid-auto-flow: dense;
|
||||
grid-auto-flow: row;
|
||||
min-width: 20rem;
|
||||
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
|
||||
grid-template-rows: auto;
|
||||
|
@ -842,6 +844,16 @@ input[type="number"]:focus {
|
|||
display: block;
|
||||
}
|
||||
|
||||
th.r,
|
||||
td.r {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.l,
|
||||
td.l {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
THE UGLY
|
||||
|
|
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 9.5 KiB |
|
@ -43,6 +43,15 @@
|
|||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a th:href="@{/intern/suppliers/}">Lager</a>
|
||||
<ul>
|
||||
<li><a th:href="@{/intern/warehouse/}">Buchungen</a></li>
|
||||
<li><a th:href="@{/intern/warehouse/addManual}">Manuelle Buchung</a></li>
|
||||
<li><a th:href="@{/intern/warehouse/todo}">Packliste</a></li>
|
||||
<li><a th:href="@{/intern/warehouse/slots/}">Inventar</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no">
|
||||
|
||||
<title>Manuelle Buchung</title>
|
||||
<link rel="stylesheet" th:href="@{/css/ecom.css}" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav th:replace="/fragments/header :: header">Header</nav>
|
||||
<div class="sidebar-layout content-width">
|
||||
<nav></nav>
|
||||
<div>
|
||||
<h1>Manuelle Buchung</h1>
|
||||
</div>
|
||||
</div>
|
||||
<main class="sidebar-layout content-width">
|
||||
<nav th:replace="/fragments/intern :: sidebar"></nav>
|
||||
<div class="content-width">
|
||||
<form class="detailgrid" th:action="@{/intern/warehouse/todo}">
|
||||
<div class="m">
|
||||
<label for="amount">Artikelnummer</label>
|
||||
<input placeholder="Nr." class="full-width" type="text" name="article" value="" list="articles"/>
|
||||
<datalist id="articles">
|
||||
<option value="5100 - Kamera" />
|
||||
<option value="5200 - Usb Stick" />
|
||||
<option value="5640 - Stativ" />
|
||||
</datalist>
|
||||
</div>
|
||||
<div class="s">
|
||||
<label for="amount">Anzahl</label>
|
||||
<input type="number" step="1" name="amount" value="0" />
|
||||
</div>
|
||||
<div class="l">
|
||||
<label for="reason">Grund:</label>
|
||||
<input placeholder="Grund" class="full-width" type="text" name="reason-man" value="" />
|
||||
</div>
|
||||
|
||||
<div class="s">
|
||||
<fieldset>
|
||||
<label for="source">Von</label>
|
||||
<fieldset>
|
||||
<input type="radio" id="s-no" name="source" value="None" required>
|
||||
<label for="s-no">Hinzufügen</label>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<input type="radio" id="s-main" name="source" value="Slot" required>
|
||||
<label for="s-main">Lagerplatz</label>
|
||||
<input placeholder="Nr." type="text" name="source-slot" value="" />
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div class="s">
|
||||
<fieldset>
|
||||
<label for="destination">Nach</label>
|
||||
<fieldset>
|
||||
<input type="radio" id="d-no" name="destination" value="None" required>
|
||||
<label for="d-no">Entfernen</label>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<input type="radio" id="d-main" name="destination" value="Main" required>
|
||||
<label for="d-main">Lagerplatz</label>
|
||||
<input placeholder="Nr." type="text" name="destination-slot" value="" />
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div class="l">
|
||||
<p>
|
||||
Manuelle Buchungen können nicht rückgängig gemacht werden! <br />
|
||||
Es können jedoch Gegenbuchungen erstellt werden.
|
||||
</p>
|
||||
<button type="submit">Buchung tätigen</button>
|
||||
<button type="reset">Zurücksetzen</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
<footer th:replace="/fragments/footer :: footer"></footer>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,29 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>e-commerce</title>
|
||||
<link rel="stylesheet" th:href="@{/css/ecom.css}"/>
|
||||
<script>
|
||||
window.setTimeout(function() {
|
||||
window.location.href = "/intern/warehouse/todo";
|
||||
}, 3000);
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<body>
|
||||
<main class="modal l">
|
||||
<div class="detailflex l">
|
||||
<h1>Wurde bereits zugewiesen.</h1>
|
||||
<p>
|
||||
<img th:src="@{/img/undraw_cancel_u1it.svg}"/>
|
||||
</p>
|
||||
<p>
|
||||
Diese Seite leitet sie automatisch nach 3 Sekunden weiter.
|
||||
</p>
|
||||
<a class="button" th:href="@{/intern/warehouse/todo}" > Zurück </a>
|
||||
</div>
|
||||
</main>
|
||||
<footer th:replace="/fragments/footer :: footer"></footer>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>e-commerce</title>
|
||||
<link rel="stylesheet" th:href="@{/css/ecom.css}"/>
|
||||
</head>
|
||||
<body>
|
||||
<body>
|
||||
<main class="modal l">
|
||||
<div class="detailflex l">
|
||||
<h1>Erfolgreich zugewiesen.</h1>
|
||||
<p>
|
||||
<table id="main-table">
|
||||
<tr>
|
||||
<th>Zeitpunkt</th>
|
||||
<th>Artikel</th>
|
||||
<th>Anzahl</th>
|
||||
<th>Von</th>
|
||||
<th>Nach</th>
|
||||
</tr>
|
||||
|
||||
<!-------------------------------------------------------------->
|
||||
<tr data-group="3">
|
||||
<td>2020-01-12 12:18</td>
|
||||
<td colspan="4" class="l">
|
||||
<a th:href="@{/intern/customerOrders/4808}">Bestellung 8408</a>
|
||||
<div>
|
||||
Hans Maier <br />
|
||||
Hauptstraße 12<br />
|
||||
74880 Musterstadt<br />
|
||||
Deutschland <br />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-group="3">
|
||||
<td><img th:src="@{/img/product-1.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>1</td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=1}">Lagherplatz 01</a></td>
|
||||
<td> - </td>
|
||||
</tr>
|
||||
<tr data-group="3">
|
||||
<td><img th:src="@{/img/product-2.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/4205}">Spielzeugauto</a></td>
|
||||
<td>2</td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=2}">Lagherplatz 02</a></td>
|
||||
<td> - </td>
|
||||
</tr>
|
||||
</table>
|
||||
</p>
|
||||
<a class="secondary button" th:href="@{/intern/warehouse/todo}" > Fertig </a>
|
||||
</div>
|
||||
</main>
|
||||
<footer th:replace="/fragments/footer :: footer"></footer>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,121 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no">
|
||||
|
||||
<title>Lager</title>
|
||||
<script th:src="@{/js/filterTable.js}"></script>
|
||||
<link rel="stylesheet" th:href="@{/css/ecom.css}" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav th:replace="/fragments/header :: header">Header</nav>
|
||||
<div class="sidebar-layout content-width">
|
||||
<nav></nav>
|
||||
<div>
|
||||
<h1>Lagerbuchungen</h1>
|
||||
</div>
|
||||
</div>
|
||||
<main class="sidebar-layout content-width">
|
||||
<nav th:replace="/fragments/intern :: sidebar"></nav>
|
||||
<div class="content-width">
|
||||
<p>
|
||||
Die Lagerbestände nach Artikel können Sie unter den <a th:href="@{/intern/listedArticles/}">gelisteten Artikeln</a> einsehen.
|
||||
</p>
|
||||
<p>
|
||||
<table id="main-table">
|
||||
<tr>
|
||||
<th colspan="7">
|
||||
<input type="text" placeholder="Filtern" class="smaller jsFilterTable full-width" data-target-id="main-table"></input>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Zeitpunkt</th>
|
||||
<th>Artikel</th>
|
||||
<th>Anzahl</th>
|
||||
<th>Von</th>
|
||||
<th>Nach</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
|
||||
|
||||
<!-------------------------------------------------------------->
|
||||
<tr data-group="3">
|
||||
<td>2020-01-12 12:18</td>
|
||||
<td colspan="4" class="l">
|
||||
<a th:href="@{/intern/customerOrders/4808}">Bestellung 8408</a>
|
||||
</td>
|
||||
<td>Auf Warteliste <br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-group="3">
|
||||
<td></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>1</td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=1}">Lagherplatz 01</a></td>
|
||||
<td> - </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr data-group="3">
|
||||
<td></td>
|
||||
<td><a th:href="@{/intern/listedArticles/4205}">Spielzeugauto</a></td>
|
||||
<td>2</td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=2}">Lagherplatz 02</a></td>
|
||||
<td> - </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<!-------------------------------------------------------------->
|
||||
<tr data-group="2">
|
||||
<td>2020-01-12 12:15</td>
|
||||
<td colspan="4" class="l">
|
||||
Manuell: Ware war defekt.
|
||||
</td>
|
||||
<td>In Arbeit <br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-group="2">
|
||||
<td></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>1</td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=1}">Lagherplatz 01</a></td>
|
||||
<td> - </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<!-------------------------------------------------------------->
|
||||
<tr data-group="1">
|
||||
<td>2020-01-12 12:11</td>
|
||||
<td colspan="4" class="l">
|
||||
<a th:href="@{/intern/supplierOrders/#q=4545}">Lieferung 4545</a>
|
||||
</td>
|
||||
<td>Fertig <br /></td>
|
||||
</tr>
|
||||
<tr data-group="1">
|
||||
<td></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>10</td>
|
||||
<td> - </td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=1}">Lagherplatz 01</a></th>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr data-group="1">
|
||||
<td></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>1</td>
|
||||
<td> - </td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=4}">Lagherplatz 04</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</p>
|
||||
</div>
|
||||
</main>
|
||||
<footer th:replace="/fragments/footer :: footer"></footer>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,100 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no">
|
||||
|
||||
<title>Inventar</title>
|
||||
<script th:src="@{/js/filterTable.js}"></script>
|
||||
<link rel="stylesheet" th:href="@{/css/ecom.css}" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav th:replace="/fragments/header :: header">Header</nav>
|
||||
<div class="sidebar-layout content-width">
|
||||
<nav></nav>
|
||||
<div>
|
||||
<h1>Inventar</h1>
|
||||
</div>
|
||||
</div>
|
||||
<main class="sidebar-layout content-width">
|
||||
<nav th:replace="/fragments/intern :: sidebar"></nav>
|
||||
<div class="content-width">
|
||||
<!-- Dirty -->
|
||||
<div style="min-width: 10rem; display: inline-block; margin: var(--u0);">
|
||||
<h3>Plätze in Verwendung</h3>
|
||||
<h2>67%</h2>
|
||||
</div>
|
||||
<div style="min-width: 10rem; display: inline-block; margin: var(--u0);">
|
||||
<h3>Lagereffizienz</h3>
|
||||
<h2>43%</h2>
|
||||
</div>
|
||||
<div style="min-width: 10rem; display: inline-block; margin: var(--u0);">
|
||||
<h3>Lagerdiversität</h3>
|
||||
<h2>3</h2>
|
||||
</div>
|
||||
<p>
|
||||
<table id="main-table">
|
||||
<tr>
|
||||
<th colspan="7">
|
||||
<input type="text" placeholder="Filtern" class="smaller jsFilterTable full-width" data-target-id="main-table"></input>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Lagerplatz</th>
|
||||
<th>Bild</th>
|
||||
<th>Artikel</th>
|
||||
<th>Anzahl</th>
|
||||
<th>Max.</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h2>1</h2></td>
|
||||
<td><img th:src="@{/img/product-1.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>20</td>
|
||||
<td>20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h2>2</h2></td>
|
||||
<td><img th:src="@{/img/product-1.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h2>3</h2></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>0</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h2>4</h2></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>0</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h2>5</h2></td>
|
||||
<td><img th:src="@{/img/product-3.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Usb-Ding</a></td>
|
||||
<td>1</td>
|
||||
<td>10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h2>6</h2></td>
|
||||
<td><img th:src="@{/img/product-4.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Stativ</a></td>
|
||||
<td>3</td>
|
||||
<td>5</td>
|
||||
</tr>
|
||||
</table>
|
||||
</p>
|
||||
</div>
|
||||
</main>
|
||||
<footer th:replace="/fragments/footer :: footer"></footer>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,102 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no">
|
||||
|
||||
<title>Packliste</title>
|
||||
<script th:src="@{/js/filterTable.js}"></script>
|
||||
<link rel="stylesheet" th:href="@{/css/ecom.css}" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav th:replace="/fragments/header :: header">Header</nav>
|
||||
<div class="sidebar-layout content-width">
|
||||
<nav></nav>
|
||||
<div>
|
||||
<h1>Packliste</h1>
|
||||
</div>
|
||||
</div>
|
||||
<main class="sidebar-layout content-width">
|
||||
<nav th:replace="/fragments/intern :: sidebar"></nav>
|
||||
<div class="content-width">
|
||||
<p>
|
||||
<table id="main-table">
|
||||
<tr>
|
||||
<th colspan="7">
|
||||
<input type="text" placeholder="Filtern" class="smaller jsFilterTable full-width" data-target-id="main-table"></input>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Zeitpunkt</th>
|
||||
<th>Artikel</th>
|
||||
<th>Anzahl</th>
|
||||
<th>Von</th>
|
||||
<th>Nach</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
|
||||
|
||||
<!-------------------------------------------------------------->
|
||||
<tr data-group="3">
|
||||
<td>2020-01-12 12:18</td>
|
||||
<td colspan="4" class="l">
|
||||
<a th:href="@{/intern/customerOrders/4808}">Bestellung 8408</a>
|
||||
<div>
|
||||
Hans Maier <br />
|
||||
Hauptstraße 12<br />
|
||||
74880 Musterstadt<br />
|
||||
Deutschland <br />
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<form th:action="@{/intern/warehouse/progress/5410}" method="post">
|
||||
<button type="submit">Beginnen</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-group="3">
|
||||
<td><img th:src="@{/img/product-1.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>1</td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=1}">Lagherplatz 01</a></td>
|
||||
<td> - </td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-group="3">
|
||||
<td><img th:src="@{/img/product-2.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/4205}">Spielzeugauto</a></td>
|
||||
<td>2</td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=2}">Lagherplatz 02</a></td>
|
||||
<td> - </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<!-------------------------------------------------------------->
|
||||
<tr data-group="2">
|
||||
<td>2020-01-12 12:15</td>
|
||||
<td colspan="4" class="l">
|
||||
Manuell: Ware war defekt.
|
||||
</td>
|
||||
<td><a class="secondary button">Abschließen</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr data-group="2">
|
||||
<td><img th:src="@{/img/product-1.jpg}" class="s" /></td>
|
||||
<td><a th:href="@{/intern/listedArticles/45015}">Kamera</a></td>
|
||||
<td>1</td>
|
||||
<td><a th:href="@{/intern/warehouse/slots/#q=1}">Lagherplatz 01</a></td>
|
||||
<td> - </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</p>
|
||||
</div>
|
||||
</main>
|
||||
<footer th:replace="/fragments/footer :: footer"></footer>
|
||||
</body>
|
||||
|
||||
</html>
|
Reference in New Issue