correct updates

This commit is contained in:
Dmitry Isaenko 2023-12-29 22:38:26 +03:00
parent bc5a711a60
commit 343d7a68ba
42 changed files with 115 additions and 664 deletions

View file

@ -156,6 +156,7 @@ button {
padding: 5px 25px 5px 25px;
color: #4a3c3c;
}
button:hover {
background-color: #c2dac0 !important;
}
@ -173,8 +174,8 @@ button:hover {
flex: 1;
}
.center{
margin-left: auto;
margin-right: auto;
width: 25em;
.center {
margin-left: auto;
margin-right: auto;
width: 25em;
}

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div th:fragment="footer">
<a href="https://redrise.ru">&copy; 2023 Dmitry Isaenko</a>
</div>
</body>
</html>

View file

@ -2,30 +2,32 @@
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Marinesco</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="stylesheet" th:href="@{/styles/styles.css}" />
<title>Marinesco</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="stylesheet" th:href="@{/styles/styles.css}" />
</head>
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<img th:src="@{/images/logo.svg}" />
<div class="center">
<div class="container base">
<h1>Log in</h1>
<a href="/register">Register</a>
<form class="form-signin" method="post" action="/login">
<br /><span class="validationError" th:if="${param.error}">Unable to login. Check your username and
password.</span>
<p>
<label for="username" class="sr-only">Username</label>
<input type="text" id="username" name="login" class="form-control" placeholder="Username" required autofocus>
</p>
<p>
<label for="password" class="sr-only">Password</label>
<input type="password" id="password" name="pwd" class="form-control" placeholder="Password" required>
</p>
<button class="sign" type="submit">Sign in</button>
</form>
</div>
</div>
</body>
<div class="container">
<br /> New here? <a href="/register">REGISTER NOW!</a>
<br /><a href="/h2">H2</a>
<form class="form-signin" method="post" action="/login">
<h2 class="form-signin-heading">Please sign in</h2>
<br /><span class="validationError" th:if="${param.error}">Unable to login. Check your username and password.</span>
<p>
<label for="username" class="sr-only">Username</label>
<input type="text" id="username" name="login" class="form-control" placeholder="Username" required autofocus>
</p>
<p>
<label for="password" class="sr-only">Password</label>
<input type="password" id="password" name="pwd" class="form-control" placeholder="Password" required>
</p>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form>
</div>
</html>

View file

@ -9,24 +9,27 @@
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<h1 th:text="${header_text}"></h1>
<p>
<div th:each="user : ${USR}">
<span th:text="${user.id+' '+user.name+' '+user.displayName}+' ROLES: '">user</span>
<span th:each="role : ${user.role}">
<span th:text="'[ '+${role.id+' '+role.name+' '+role.type}+' ]'">user</span>
</span>
<form method="POST" th:action="@{/manage_users/delete}" th:object="${userGenerified}">
<input type="hidden" th:value="${user.id}" name="id" />
<input type="hidden" th:value="${user.name}" name="name" />
<input type="hidden" th:value="${user.displayName}" name="displayName" />
<div class="container base">
<h1 th:text="${header_text}"></h1>
<p>
<div th:each="user : ${USR}">
<span th:text="${user.id+' '+user.name+' '+user.displayName}+' ROLES: '">user</span>
<span th:each="role : ${user.role}">
<input type="hidden" th:value="${role.id}" th:attr="name='role'" />
<span th:text="'[ '+${role.id+' '+role.name+' '+role.type}+' ]'">user</span>
</span>
<button>DELETE</button>
</form>
<br />
<form method="POST" th:action="@{/manage_users/delete}" th:object="${userGenerified}">
<input type="hidden" th:value="${user.id}" name="id" />
<input type="hidden" th:value="${user.name}" name="name" />
<input type="hidden" th:value="${user.displayName}" name="displayName" />
<span th:each="role : ${user.role}">
<input type="hidden" th:value="${role.id}" th:attr="name='role'" />
</span>
<button>DELETE</button>
</form>
<br />
</div>
</div>
</body>
</html>

View file

@ -10,32 +10,40 @@
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<h1>Register</h1>
<img th:src="@{/images/logo.svg}" />
<form class="regForm" method="POST" th:action="@{/register}" th:object="${registrationForm}">
<span class="validationError" th:if="${#fields.hasErrors('username')}" th:errors="*{username}">Error</span>
<br />
<label for="username">Username: </label>
<input type="text" name="username" id="username"/><br />
<div class="container base">
<h1>Register</h1>
<form class="regForm" method="POST" th:action="@{/register}" th:object="${registrationForm}">
<span class="validationError" th:if="${#fields.hasErrors('password')}" th:errors="*{password}">Error</span>
<br />
<label for="password">Password: </label>
<input type="password" name="password" id="password"/><br />
<span class="validationError" th:if="${#fields.hasErrors('username')}" th:errors="*{username}">Error</span>
<br />
<label for="username">Username: </label>
<br />
<input type="text" name="username" id="username" size="50%" /><br />
<span class="validationError" th:if="${passwordsMismatch} != null" th:text="${passwordsMismatch}">false</span>
<br />
<label for="confirm">Confirm password: </label>
<input type="password" name="passwordConfirm" id="passwordConfirm" /><br />
<span class="validationError" th:if="${#fields.hasErrors('password')}" th:errors="*{password}">Error</span>
<br />
<label for="password">Password: </label>
<br />
<input type="password" name="password" id="password" size="50%" /><br />
<span class="validationError" th:if="${#fields.hasErrors('displayname')}" th:errors="*{displayname}">Error</span>
<br />
<label for="displayname">Displayed name: </label>
<input type="text" name="displayname" id="displayname"/><br />
<input type="submit" value="Register" />
</form>
<span class="validationError" th:if="${passwordsMismatch} != null"
th:text="${passwordsMismatch}">false</span>
<br />
<label for="confirm">Confirm password: </label>
<br />
<input type="password" name="passwordConfirm" id="passwordConfirm" size="50%" /><br />
<span class="validationError" th:if="${#fields.hasErrors('displayname')}"
th:errors="*{displayname}">Error</span>
<br />
<label for="displayname">Displayed name: </label>
<br />
<input type="text" name="displayname" id="displayname" size="50%" /><br />
<p>
<button class="sign" type="submit">Register</button>
</p>
</form>
</div>
</body>
</html>

View file

@ -9,10 +9,13 @@
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<img th:src="@{/images/logo.svg}" />
<br /><a href="/login">Login</a>
<br /><a href="/profile">/profile</a>
<br /><a href="/manage_users">/manage_users</a>
<div class="container base">
<img th:src="@{/images/logo.svg}" />
<br /><a href="/login">Login</a>
<br /><a href="/profile">/profile</a>
<br /><a href="/manage_users">/manage_users</a>
<br /><a href="/h2">H2</a>
</div>
</body>
</html>

View file

@ -9,19 +9,27 @@
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<h1 th:text="${header_text}">welcome</h1>
<form method="POST" th:action="@{/profile/settings}" th:object="${userSettingsForm}"> <!-- -->
<span class="validationError" th:if="${#fields.hasErrors('displayname')}" th:errors="*{displayname}">Error</span>
<br />
<label for="displayname">Displayed name: </label>
<input type="text" name="displayname" id="displayname" th:value="${userSettingsForm.displayname}" /><br />
<div class="container base">
<h1 th:text="${header_text}">welcome</h1>
<form method="POST" th:action="@{/profile/settings}" th:object="${userSettingsForm}"> <!-- -->
<span class="validationError" th:if="${#fields.hasErrors('displayname')}"
th:errors="*{displayname}">Error</span>
<br />
<label for="displayname">Displayed name: </label>
<br />
<input type="text" name="displayname" id="displayname" th:value="${userSettingsForm.displayname}"
size="50%" /><br />
<span class="validationError" th:if="${password_incorrect} != null" th:text="${password_incorrect}">false</span>
<br />
<label for="password">New password: </label>
<input type="password" name="newPassword" id="newPassword" /><br />
<span class="validationError" th:if="${password_incorrect} != null"
th:text="${password_incorrect}">false</span>
<br />
<label for="password">New password: </label>
<br />
<input type="password" name="newPassword" id="newPassword" size="50%" /><br />
<input type="submit" value="Save Changes" />
</form>
<button class="sign" type="submit">Save Changes</button>
</form>
</div>
</body>
</html>

View file

@ -1,23 +0,0 @@
spring:
thymeleaf:
cache: false
datasource:
driver-class-name: org.h2.Driver
generate-unique-name: false
name: marinesco
url: jdbc:h2:mem:marinesco
username: sa
password:
jpa:
properties:
hibernate:
database-platform: org.hibernate.dialect.H2Dialect
hibernate:
ddl-auto: update
h2:
console:
enabled: true
path: /h2
settings:
web-allow-others: true
trace: false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -1,62 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="78mm"
height="12.5mm"
viewBox="0 0 78 12.5"
version="1.1"
id="svg5"
sodipodi:docname="marinesco logo1.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#a535aa"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="5.6568543"
inkscape:cx="167.14236"
inkscape:cy="56.656931"
inkscape:window-width="3755"
inkscape:window-height="2123"
inkscape:window-x="1165"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="false"
inkscape:lockguides="true" />
<defs
id="defs2" />
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.340466;stroke-linejoin:round;paint-order:stroke fill markers"
id="rect15547"
width="78"
height="12.5"
x="0"
y="0"
ry="1.226432" />
<path
style="color:#000000;fill:#15bade;-inkscape-stroke:none"
d="M 27.730628,1.5763661 C 25.036825,1.5596634 22.673126,2.2437308 20.494299,3.0548817 15.52534,4.9047658 11.509661,7.3067267 4.20719,6.2443347 l -0.2382811,-0.03516 -0.2402344,0.01563 c 0,0 -0.571584,0.03161 -1.09375,0.355469 -0.522166,0.323861 -1.0854728,1.181111 -1.1308594,1.90039 -0.031147,0.493776 0.1131821,1.217964 0.5546875,1.7480473 0.4415054,0.530084 1.3378907,0.798828 1.3378907,0.798828 l 0.056641,0.01172 0.056641,0.0078 C 12.15843,12.305276 17.748772,9.2542897 22.18766,7.6017457 c 2.225096,-0.828377 4.129469,-1.332733 6.328125,-1.154297 2.198656,0.178436 4.822312,1.053458 8.382812,3.423828 l 1.878907,1.2500003 0.002,-0.0039 0.002,0.002 1.875,-1.2500003 c 3.560451,-2.370338 6.184021,-3.243543 8.382812,-3.421875 2.198792,-0.178332 4.10494,0.325904 6.330078,1.154297 4.439025,1.652595 10.029323,4.7035173 18.677735,3.4453133 l 0.05078,-0.0078 0.04883,-0.0098 c 0,0 0.902708,-0.265223 1.347656,-0.796875 0.444949,-0.5316513 0.589732,-1.2583183 0.558594,-1.7519533 -0.04553,-0.721911 -0.612608,-1.579806 -1.134765,-1.902343 -0.522158,-0.322538 -1.091797,-0.353516 -1.091797,-0.353516 l -0.240235,-0.01563 -0.238281,0.03516 C 66.045442,7.3067127 62.031754,4.904815 57.062659,3.0548817 54.883831,2.2437293 52.518178,1.5596634 49.824378,1.5763661 c -0.385437,0.00239 -0.775891,0.018721 -1.171875,0.050781 -2.945866,0.2385075 -6.201654,1.4666842 -9.875,3.7734376 -3.672889,-2.3061606 -6.92781,-3.5330278 -9.873047,-3.7714845 -0.396002,-0.032061 -0.788428,-0.050345 -1.173828,-0.052734 z"
id="path1154" />
<path
id="rect2675"
style="opacity:1;fill:#00b185;fill-opacity:1;stroke:#ffffff;stroke-width:0.818;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="M 40.69873,4.1910257 47.085,1.9080267 c 0.0479,-0.017123 0.08973,0.04381 0.08973,0.09821 v 8.4513743 c 0,0.0544 -0.04003,0.09821 -0.08973,0.09821 0,0 -3.24318,-2.0452513 -3.24318,-3.8408703 0,-0.06402 0,-0.06402 0,0 0,1.794641 -3.14309,3.8409423 -3.14309,3.8409423 -0.03835,0.03461 -0.08973,-0.04381 -0.08973,-0.09821 V 4.2892377 c 0,-0.05441 0.08973,-0.097032 0.08973,-0.09821 z"
sodipodi:nodetypes="sssssssssscs" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

View file

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="7.3839998mm"
height="9.467mm"
viewBox="0 0 7.3839995 9.467"
version="1.1"
id="svg5"
sodipodi:docname="s_logo.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#a535aa"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="22.627417"
inkscape:cx="28.704116"
inkscape:cy="30.383494"
inkscape:window-width="3755"
inkscape:window-height="2123"
inkscape:window-x="1165"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="false"
inkscape:lockguides="true" />
<defs
id="defs2" />
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="rect2675"
style="opacity:1;fill:#00b185;fill-opacity:1;stroke:#ffffff;stroke-width:0.818015;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="M 0.4987411,2.6910294 6.8852589,0.40803435 c 0.047902,-0.017123 0.089733,0.0438099 0.089733,0.0982098 V 8.9576038 c 0,0.0544 -0.040032,0.09821 -0.089733,0.09821 0,0 -3.2433058,-2.0452477 -3.2433058,-3.8408636 0,-0.06402 0,-0.06402 0,0 0,1.7946379 -3.143212,3.8409356 -3.143212,3.8409356 -0.0383515,0.03461 -0.0897335,-0.04381 -0.0897335,-0.09821 V 2.7892412 c 0,-0.05441 0.0897335,-0.097032 0.0897335,-0.09821 z"
sodipodi:nodetypes="sssssssssscs" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

View file

@ -1,180 +0,0 @@
@font-face {
font-family: "Terminus";
src: url('/styles/TerminusBold.ttf');
}
body {
margin-top: 0;
margin-bottom: 0;
margin-right: 0;
margin-left: 0;
font-family: Terminus;
background-color: #212121;
color: #cfcfcf;
}
.validationError {
color: red;
}
.header-container {
text-align: left;
position: relative;
}
.header-container .header-bar {
position: absolute;
right: 10px;
}
table,
th,
td {
border: 1px solid;
border-collapse: collapse;
}
a {
color: #cfcfcf;
text-align: center;
}
a:link {
color: #cfcfcf;
}
a:hover {
color: white;
}
a:visited {
color: #949494;
}
ul {
list-style-type: none;
}
header {
display: block;
}
.header_wrapper {
background: #323833;
color: #a7a691;
vertical-align: top;
width: 100%;
padding: 0px;
margin-bottom: 20px;
display: inline-block;
}
.container {
width: 100%;
max-width: 1280px;
margin: 0 auto;
}
.header_branding {
float: left;
}
#header_right_block {
list-style-type: none;
list-style-image: none;
font-family: sans-serif;
height: 100%;
margin-right: 0;
right: 0;
float: right;
padding: 0%;
font-size: 0.9em;
}
.ul_right_block {
margin: 0 !important;
padding: 0 !important;
}
.li_right_block {
margin-left: 5px;
margin-right: 5px;
height: 100%;
float: left;
position: relative;
}
.header_entry {
height: 65px;
line-height: 65px;
display: block;
border-left: 0;
border-top: 0;
text-decoration: none;
font-variant: small-caps;
text-shadow: -1px -1px 0 #1e1e1e, 1px -1px 0 #1e1e1e, -1px 1px 0 #1e1e1e, 1px 1px 0 #1e1e1e;
color: #74bfbd;
}
.header_entry_link:hover {
color: #b6a795;
}
.block {
display: block;
}
.block_inner {
margin-left: 10px;
margin-right: 10px;
}
a.entry {
text-decoration: none;
}
.header_title {
font-size: 1.5em;
}
hr {
border: 0;
border-bottom: 1px dashed;
background: none;
}
button {
margin: 1em 0;
font-family: sans-serif;
font-style: normal;
font-weight: normal;
text-align: center;
font-variant: small-caps !important;
background-color: #b0c6af !important;
border: none;
border-radius: 2px;
padding: 5px 25px 5px 25px;
color: #4a3c3c;
}
button:hover {
background-color: #c2dac0 !important;
}
.sign {
width: 25%;
}
.base {
background: #283338;
padding: 20px;
box-shadow: 0 0 8px -3px #37474e;
border-radius: 3px;
width: 100%;
flex: 1;
}
.center{
margin-left: auto;
margin-right: auto;
width: 25em;
}

View file

@ -1,53 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type=text/css>
html {
height: 100%;
}
body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color: #212121;
color: #cfcfcf;
font-family: Terminus;
}
.error {
border-width: 3px;
border-style: double;
padding: 8px;
margin: auto;
}
.bli {
padding: 3px;
background-color: #D00000;
animation: blinker 2.5s ease infinite;
}
@keyframes blinker {
50% {
opacity: 0.0;
}
}
</style>
<title th:text="${code}">title</title>
</head>
<body>
<div class='error'>
ОШИБКА: <span class='bli' th:text="${code}"></span>
</div>
</body>
</html>

View file

@ -1,43 +0,0 @@
<!DOCTYPE html>
<html>
<head></head>
<body>
<div th:fragment="header" class="header_wrapper" >
<div class="container" >
<header>
<div class="header_branding block_inner">
<a href="/">
<img height="65px" th:src="@{/images/s_logo.svg}" alt="Marinesco">
</a>
</div>
<nav id="header_right_block" class="block">
<div class="block_inner">
<ul class="ul_right_block">
<li class="li_right_block" th:if="${#authorization.expression('!isAuthenticated()')}">
<a class="entry" href="/login" th:href="@{/login}">
<span class="header_entry header_entry_link">Sign in</span>
</a>
</li>
<li class="li_right_block" th:if="${#authorization.expression('isAuthenticated()')}">
<a class="entry" href="/logout">
<span class="header_entry header_entry_link">Logout</span>
</a>
<form style="visibility: hidden" id="form" method="post" action="#" th:action="@{/logout}"></form>
</li>
</ul>
</div>
</nav>
<div class="header_entry header_title">
Marinesco
</div>
<!--
<div th:replace="~{fragments/header :: ${#authentication.principal.isAdmin()} ? 'header-admin' : 'header'}"></div>
-->
</header>
</div>
</div>
</body>
</html>

View file

@ -1,33 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Marinesco</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="stylesheet" th:href="@{/styles/styles.css}" />
</head>
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<div class="center">
<div class="container base">
<h1>Log in</h1>
<a href="/register">Register</a>
<form class="form-signin" method="post" action="/login">
<br /><span class="validationError" th:if="${param.error}">Unable to login. Check your username and
password.</span>
<p>
<label for="username" class="sr-only">Username</label>
<input type="text" id="username" name="login" class="form-control" placeholder="Username" required autofocus>
</p>
<p>
<label for="password" class="sr-only">Password</label>
<input type="password" id="password" name="pwd" class="form-control" placeholder="Password" required>
</p>
<button class="sign" type="submit">Sign in</button>
</form>
</div>
</div>
</body>
</html>

View file

@ -1,35 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Marinesco - Manage users</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="stylesheet" th:href="@{/styles/styles.css}" />
</head>
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<div class="container base">
<h1 th:text="${header_text}"></h1>
<p>
<div th:each="user : ${USR}">
<span th:text="${user.id+' '+user.name+' '+user.displayName}+' ROLES: '">user</span>
<span th:each="role : ${user.role}">
<span th:text="'[ '+${role.id+' '+role.name+' '+role.type}+' ]'">user</span>
</span>
<form method="POST" th:action="@{/manage_users/delete}" th:object="${userGenerified}">
<input type="hidden" th:value="${user.id}" name="id" />
<input type="hidden" th:value="${user.name}" name="name" />
<input type="hidden" th:value="${user.displayName}" name="displayName" />
<span th:each="role : ${user.role}">
<input type="hidden" th:value="${role.id}" th:attr="name='role'" />
</span>
<button>DELETE</button>
</form>
<br />
</div>
</div>
</body>
</html>

View file

@ -1,49 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Marinesco - registration form</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="stylesheet" th:href="@{/styles/styles.css}" />
<script src="/jquery.js"></script>
</head>
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<div class="container base">
<h1>Register</h1>
<form class="regForm" method="POST" th:action="@{/register}" th:object="${registrationForm}">
<span class="validationError" th:if="${#fields.hasErrors('username')}" th:errors="*{username}">Error</span>
<br />
<label for="username">Username: </label>
<br />
<input type="text" name="username" id="username" size="50%" /><br />
<span class="validationError" th:if="${#fields.hasErrors('password')}" th:errors="*{password}">Error</span>
<br />
<label for="password">Password: </label>
<br />
<input type="password" name="password" id="password" size="50%" /><br />
<span class="validationError" th:if="${passwordsMismatch} != null"
th:text="${passwordsMismatch}">false</span>
<br />
<label for="confirm">Confirm password: </label>
<br />
<input type="password" name="passwordConfirm" id="passwordConfirm" size="50%" /><br />
<span class="validationError" th:if="${#fields.hasErrors('displayname')}"
th:errors="*{displayname}">Error</span>
<br />
<label for="displayname">Displayed name: </label>
<br />
<input type="text" name="displayname" id="displayname" size="50%" /><br />
<p>
<button class="sign" type="submit" >Register</button>
</p>
</form>
</div>
</body>
</html>

View file

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Marinesco</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="stylesheet" th:href="@{/styles/styles.css}" />
</head>
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<div class="container base">
<img th:src="@{/images/logo.svg}" />
<br /><a href="/login">Login</a>
<br /><a href="/profile">/profile</a>
<br /><a href="/manage_users">/manage_users</a>
<br /><a href="/h2">H2</a>
</div>
</body>
</html>

View file

@ -1,33 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Marinesco - Profile settings</title>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="stylesheet" th:href="@{/styles/styles.css}" />
</head>
<body>
<div th:replace="~{fragments/header :: 'header'}"></div>
<div class="container base">
<h1 th:text="${header_text}">welcome</h1>
<form method="POST" th:action="@{/profile/settings}" th:object="${userSettingsForm}"> <!-- -->
<span class="validationError" th:if="${#fields.hasErrors('displayname')}"
th:errors="*{displayname}">Error</span>
<br />
<label for="displayname">Displayed name: </label>
<br />
<input type="text" name="displayname" id="displayname" th:value="${userSettingsForm.displayname}" size="50%" /><br />
<span class="validationError" th:if="${password_incorrect} != null" th:text="${password_incorrect}">false</span>
<br />
<label for="password">New password: </label>
<br />
<input type="password" name="newPassword" id="newPassword" size="50%" /><br />
<button class="sign" type="submit">Save Changes</button>
</form>
</div>
</body>
</html>