This commit is contained in:
2026-10-21 14:27:19 +09:00
14 changed files with 863 additions and 40 deletions

View File

@@ -1,5 +1,10 @@
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@@ -30,4 +35,5 @@ public class BookController {
model.addAttribute("note", note);
return "bookList";
}
}

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>社員検索</title>
<link rel="stylesheet" th:href="@{/css/style.css}">
</head>
<body>
<div th:replace="~{fragments/header :: header}"></div>
<main>
<h1>社員検索</h1>
<div class="error" th:if="${errorMessage}" th:text="${errorMessage}"></div>
<div class="error" th:each="e : ${errors}" th:text="${e}"></div>
<div class="card">
<form th:action="@{/employees/search}" method="post">
<label for="mailAddress">メールアドレス(256文字以内)</label>
<input type="text" id="mailAddress" name="mailAddress" th:value="${mailAddress}">
<p><button type="submit">検索</button>
<a class="btn sub" th:href="@{/menu}">メニューに戻る</a>
</p>
</form>
</div>
</main>
</body>
</html>

View File

@@ -1,46 +1,67 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>社員編集確認</title>
<link rel="stylesheet" th:href="@{/css/style.css}">
<meta charset="UTF-8">
<title>社員編集確認</title>
<link rel="stylesheet" th:href="@{/css/style.css}">
</head>
<body>
<div th:replace="~{fragments/header :: header}"></div>
<main>
<h1>社員編集確認</h1>
<div class="card">
<table>
<th:block th:if="${admin}">
<tr><th>社員名</th><td th:text="${form.nmEmployee}"></td></tr>
<tr><th>社員名よみ</th><td th:text="${form.knEmployee}"></td></tr>
<tr><th>メールアドレス</th><td th:text="${form.mailAddress}"></td></tr>
<tr><th>管理者フラグ</th><td th:text="${form.flgAdmin == '1'} ? '1:管理者' : '0:一般'"></td></tr>
<tr><th>退職フラグ</th><td th:text="${form.flgRetirement == '1'} ? '1:退職' : '0:所属'"></td></tr>
</th:block>
<tr><th>パスワード</th><td th:text="${#strings.isEmpty(form.password)} ? '(変更しない)' : '********'"></td></tr>
</table>
<form th:action="@{/employees/edit/execute}" method="post" style="display:inline">
<input type="hidden" name="idEmployee" th:value="${form.idEmployee}">
<input type="hidden" name="nmEmployee" th:value="${form.nmEmployee}">
<input type="hidden" name="knEmployee" th:value="${form.knEmployee}">
<input type="hidden" name="mailAddress" th:value="${form.mailAddress}">
<input type="hidden" name="flgAdmin" th:value="${form.flgAdmin}">
<input type="hidden" name="flgRetirement" th:value="${form.flgRetirement}">
<input type="hidden" name="password" th:value="${form.password}">
<button type="submit">編集</button>
</form>
<form th:action="@{/employees/edit/input}" method="post" style="display:inline">
<input type="hidden" name="idEmployee" th:value="${form.idEmployee}">
<input type="hidden" name="nmEmployee" th:value="${form.nmEmployee}">
<input type="hidden" name="knEmployee" th:value="${form.knEmployee}">
<input type="hidden" name="mailAddress" th:value="${form.mailAddress}">
<input type="hidden" name="flgAdmin" th:value="${form.flgAdmin}">
<input type="hidden" name="flgRetirement" th:value="${form.flgRetirement}">
<input type="hidden" name="password" th:value="${form.password}">
<button type="submit" class="sub">社員情報入力に戻る</button>
</form>
</div>
</main>
<div th:replace="~{fragments/header :: header}"></div>
<main>
<h1>社員編集確認</h1>
<div class="card">
<table>
<th:block th:if="${admin}">
<tr>
<th>社員名</th>
<td th:text="${form.nmEmployee}"></td>
</tr>
<tr>
<th>社員名よみ</th>
<td th:text="${form.knEmployee}"></td>
</tr>
<tr>
<th>メールアドレス</th>
<td th:text="${form.mailAddress}"></td>
</tr>
<tr>
<th>管理者フラグ</th>
<td th:text="${form.flgAdmin == '1'} ? '1:管理者' : '0:一般'"></td>
</tr>
<tr>
<th>退職フラグ</th>
<td th:text="${form.flgRetirement == '1'} ? '1:退職' : '0:所属'"></td>
</tr>
</th:block>
<tr>
<th>パスワード</th>
<td th:text="${#strings.isEmpty(form.password)} ? '(変更しない)' : '********'"></td>
</tr>
</table>
<form th:action="@{/employees/edit/execute}" method="post" style="display:inline">
<input type="hidden" name="idEmployee" th:value="${form.idEmployee}">
<input type="hidden" name="nmEmployee" th:value="${form.nmEmployee}">
<input type="hidden" name="knEmployee" th:value="${form.knEmployee}">
<input type="hidden" name="mailAddress" th:value="${form.mailAddress}">
<input type="hidden" name="flgAdmin" th:value="${form.flgAdmin}">
<input type="hidden" name="flgRetirement" th:value="${form.flgRetirement}">
<input type="hidden" name="password" th:value="${form.password}">
<button type="submit">編集</button>
</form>
<form th:action="@{/employees/edit/input}" method="post" style="display:inline">
<input type="hidden" name="idEmployee" th:value="${form.idEmployee}">
<input type="hidden" name="nmEmployee" th:value="${form.nmEmployee}">
<input type="hidden" name="knEmployee" th:value="${form.knEmployee}">
<input type="hidden" name="mailAddress" th:value="${form.mailAddress}">
<input type="hidden" name="flgAdmin" th:value="${form.flgAdmin}">
<input type="hidden" name="flgRetirement" th:value="${form.flgRetirement}">
<input type="hidden" name="password" th:value="${form.password}">
<button type="submit" class="sub">社員情報入力に戻る</button>
</form>
</div>
</main>
</body>
</html>
</html>

View File

@@ -0,0 +1,52 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>社員編集</title>
<link rel="stylesheet" th:href="@{/css/style.css}">
</head>
<body>
<div th:replace="~{fragments/header :: header}"></div>
<main>
<h1>社員編集</h1>
<div class="error" th:if="${errorMessage}" th:text="${errorMessage}"></div>
<div class="error" th:each="e : ${errors}" th:text="${e}"></div>
<div class="card">
<form th:action="@{/employees/edit/confirm}" method="post">
<input type="hidden" name="idEmployee" th:value="${form.idEmployee}">
<th:block th:if="${admin}">
<label for="nmEmployee">社員名(必須・50文字以内)</label>
<input type="text" id="nmEmployee" name="nmEmployee" th:value="${form.nmEmployee}" maxlength="50">
<label for="knEmployee">社員名よみ(必須・100文字以内)</label>
<input type="text" id="knEmployee" name="knEmployee" th:value="${form.knEmployee}" maxlength="100">
<label for="mailAddress">メールアドレス(必須)</label>
<input type="text" id="mailAddress" name="mailAddress" th:value="${form.mailAddress}"
maxlength="256">
<label for="flgAdmin">管理者フラグ</label>
<select id="flgAdmin" name="flgAdmin">
<option value="0" th:selected="${form.flgAdmin == '0'}">0:一般</option>
<option value="1" th:selected="${form.flgAdmin == '1'}">1:管理者</option>
</select>
<label for="flgRetirement">退職フラグ</label>
<select id="flgRetirement" name="flgRetirement">
<option value="0" th:selected="${form.flgRetirement == '0'}">0:所属</option>
<option value="1" th:selected="${form.flgRetirement == '1'}">1:退職</option>
</select>
<label for="password">パスワード(変更する場合のみ入力)</label>
</th:block>
<th:block th:unless="${admin}">
<p>※パスワードのみ変更できます。</p>
<label for="password">新しいパスワード(必須)</label>
</th:block>
<input type="password" id="password" name="password" maxlength="256" autocomplete="new-password">
<p><button type="submit">編集確認</button>
<a class="btn sub" th:href="@{/menu}">メニューへ戻る</a>
</p>
</form>
</div>
</main>
</body>
</html>