added support for youth group

This commit is contained in:
Jottyfan
2025-12-14 17:39:19 +01:00
parent 08442dc7ea
commit 3726b9172c
35 changed files with 228 additions and 870 deletions

View File

@@ -65,4 +65,52 @@ body {
.full-size {
width: 100% !important;
max-width: inherit !important;
}
}
.tag {
transform: rotate(270deg);
-webkit-transform: rotate(270deg); /* Safari, Chrome */
-moz-transform: rotate(270deg); /* Firefox */
-ms-transform: rotate(270deg); /* IE 9 */
-o-transform: rotate(270deg); /* Opera */
font-size: small;
position: absolute;
left: -16px;
top: 24px;
border-bottom: 1px dashed silver;
}
.tagbu {
background: linear-gradient(to bottom, yellow, white);
}
[data-bs-theme=dark] .tagbu {
background: none;
color: yellow;
}
.tagju {
background: linear-gradient(to bottom, lime, white);
}
[data-bs-theme=dark] .tagju {
background: none;
color: lime;
}
.tagfollow {
padding-left: 20px;
}
.tagemphasize {
font-weight: bolder;
color: #ff4444;
}
.smallbadge {
font-size: small;
}
[data-bs-theme=dark] .smallbadge {
font-size: small;
}

View File

@@ -4,20 +4,16 @@
<th:block layout:fragment="content">
<div class="borderdist">
<div class="container" th:if="${hasDateRole || hasBUrole}">
<pre>Kommende Einteilung für den Bibelunterricht</pre>
<div class="row">
<div class="col-sm-6 col-md-4 col-lg-2 card p-2 m-1" th:each="s : ${list}">
<div th:text="${#temporals.format(s.day, 'dd.MM.yyyy')}"></div>
<div th:text="${s.fullname}"></div>
<div class="tag tagbu" th:if="${s.isBibleclass}">Bibelunt.</div>
<div class="tag tagju" th:if="${s.isYouthgroup}">Jungsch.</div>
<div class="tagfollow" th:text="${#temporals.format(s.day, 'dd.MM.yyyy')}"></div>
<div th:class="'tagfollow' + ${currentUserName == #strings.toLowerCase(s.fullname) ? ' tagemphasize' : ''}" th:text="${s.fullname}"></div>
</div>
<div class="alert alert-info" th:if="${list.size() < 1}">Es gibt noch keine neuen Termine oder Zusagen für Termine.</div>
</div>
</div>
<div class="container" th:unless="${hasDateRole || hasBUrole}">
<div class="alert alert-info">
Willkommen im Anmeldeportal für die Gemeindefreizeit. Durch das Anklicken des Buttons <a class="btn btn-outline-secondary" th:href="@{/camp/registration}">Anmeldung Gemeindefreizeit</a> kannst du das Anmeldeformular öffnen.
</div>
</div>
</div>
</th:block>
</body>

View File

@@ -14,7 +14,11 @@
</thead>
<tbody>
<tr th:each="s : ${list}">
<td th:data-sort="${#temporals.format(s.slotDay, 'yyyy-MM-dd')}"><a th:href="@{/slot/{id}(id=${s.pkSlot})}" th:text="${#temporals.format(s.slotDay, 'dd.MM.yyyy')}"></a></td>
<td th:data-sort="${#temporals.format(s.slotDay, 'yyyy-MM-dd')}">
<a th:href="@{/slot/{id}(id=${s.pkSlot})}" th:text="${#temporals.format(s.slotDay, 'dd.MM.yyyy')}"></a><br />
<span class="smallbadge tagbu" th:if="${s.bibleclass}">Bibelunterricht</span>
<span class="smallbadge tagju" th:if="${s.youthgroup}">Jungschar</span>
</td>
<td><a th:href="@{/lesson?slotId={id}(id=${s.pkSlot})}" class="btn btn-outline-secondary"> <span th:text="${s.abbreviation}" th:if="${s.abbreviation}"></span> <i
class="bi bi-pencil" th:if="${s.abbreviation == null || s.abbreviation.isBlank()}"></i>
</a></td>

View File

@@ -17,6 +17,12 @@
<input type="date" th:field="*{slotDay}" th:class="${#fields.hasErrors('slotDay') ? 'form-control bg-danger' : 'form-control'}" />
<div th:each="err : ${#fields.errors('slotDay')}" th:text="${err}" class="alert alert-danger"></div>
</div>
<div class="col-sm-2">Gruppenname</div>
<div class="col-sm-10">
<select class="form-control" th:field="*{groupname}">
<option th:each="g : ${groupnames}" th:value="${g}" th:text="${groupnamemap.get(g.literal)}"></option>
</select>
</div>
<div class="col-sm-2">Notiz</div>
<div class="col-sm-10">
<textarea class="form-control" th:field="*{note}"></textarea>

View File

@@ -4,17 +4,17 @@
<title>Bible Class Organizer</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" type="text/css" media="all" th:href="@{/webjars/bootstrap/5.3.3/css/bootstrap.min.css}" />
<link rel="stylesheet" type="text/css" media="all" th:href="@{/webjars/bootstrap-icons/1.11.3/font/bootstrap-icons.css}" />
<link rel="stylesheet" type="text/css" media="all" th:href="@{/webjars/datatables.net-bs5/2.1.7/css/dataTables.bootstrap5.min.css}"/>
<link rel="stylesheet" type="text/css" media="all" th:href="@{/webjars/bootstrap/5.3.8/css/bootstrap.min.css}" />
<link rel="stylesheet" type="text/css" media="all" th:href="@{/webjars/bootstrap-icons/1.13.1/font/bootstrap-icons.css}" />
<link rel="stylesheet" type="text/css" media="all" th:href="@{/webjars/datatables.net-bs5/2.3.5/css/dataTables.bootstrap5.min.css}"/>
<link rel="stylesheet" type="text/css" media="all" th:href="@{/css/style.css}" />
<script type="application/javascript" th:src="@{/webjars/bootstrap/5.3.3/js/bootstrap.bundle.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/bootstrap/5.3.8/js/bootstrap.bundle.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/jquery/3.7.1/jquery.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/datatables.net/2.1.7/js/dataTables.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/datatables.net/2.3.5/js/dataTables.min.js}"></script>
<script type="application/javascript" th:src="@{/js/dataTables.de.js}"></script>
<script type="application/javascript" th:src="@{/webjars/datatables.net-bs5/2.1.7/js/dataTables.bootstrap5.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/datatables.net-responsive/3.0.1/js/dataTables.responsive.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/datatables.net-buttons/3.1.1/js/dataTables.buttons.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/datatables.net-bs5/2.3.5/js/dataTables.bootstrap5.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/datatables.net-responsive/3.0.6/js/dataTables.responsive.min.js}"></script>
<script type="application/javascript" th:src="@{/webjars/datatables.net-buttons/3.2.5/js/dataTables.buttons.min.js}"></script>
<script th:src="@{/js/stylehelp.js}"></script>
</head>
<body>