merge visibility and grouptype + merge createorga and createstudent + adapt to changes + finish create refactor
This commit is contained in:
171
src/main/resources/templates/create.html
Normal file
171
src/main/resources/templates/create.html
Normal file
@ -0,0 +1,171 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de" xmlns:th="http://www.thymeleaf.org" th:replace="~{mopslayout :: html(
|
||||
name='Gruppenbildung',
|
||||
title='Neue Gruppe',
|
||||
headcontent=~{fragments/general :: headcontent(style='none')},
|
||||
navigation=~{fragments/general :: nav(current='create')},
|
||||
bodycontent=~{:: bodycontent})}">
|
||||
|
||||
<body>
|
||||
|
||||
<main th:fragment="bodycontent">
|
||||
<div class="container-fluid">
|
||||
|
||||
<h1 class="def-cursor">Neue Gruppe</h1>
|
||||
|
||||
<div class="content">
|
||||
<h3 class="def-cursor">Eigenschaften:</h3>
|
||||
|
||||
<form enctype="multipart/form-data" method="post" th:action="@{/gruppen2/create}">
|
||||
|
||||
<div class="content-text">
|
||||
<!--Gruppentitel-->
|
||||
<div class="input-group mb-2">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text text-monospace">Gruppentitel:</span>
|
||||
</div>
|
||||
<input type="text" class="form-control" th:name="title" required>
|
||||
</div>
|
||||
|
||||
<!--Gruppenbeschreibung-->
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text text-monospace">Beschreibung:</span>
|
||||
</div>
|
||||
<textarea class="form-control" th:name="description" required></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--TODO: Enter AsciiDoc Description-->
|
||||
|
||||
<div class="content-text-in">
|
||||
<!--Gruppentyp-->
|
||||
<label for="grouptype">Gruppentyp:</label>
|
||||
<div class="btn-toolbar row mb-2" id="grouptype">
|
||||
<div class="btn-group btn-group-toggle col-sm-4" data-toggle="buttons">
|
||||
<label class="btn btn-secondary active" onclick="enableParent()">
|
||||
<input type="radio" name="type" value="PRIVATE" checked> Privat
|
||||
</label>
|
||||
<label class="btn btn-secondary" onclick="enableParent()">
|
||||
<input type="radio" name="type" value="PUBLIC"> Öffentlich
|
||||
</label>
|
||||
<label class="btn btn-secondary" onclick="disableParent()"
|
||||
th:if="${account.getRoles().contains('orga')}">
|
||||
<input type="radio" name="type" value="LECTURE"> Veranstaltung
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="input-group col-sm-8">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text text-monospace">Gehört zu:</span>
|
||||
</div>
|
||||
<select class="custom-select" id="parentselect" name="parent">
|
||||
<option value="" selected>Keiner</option>
|
||||
<option th:each="lecture : ${lectures}" th:value="${lecture.getId()}"
|
||||
th:text="${lecture.getTitle()}"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--Benutzerlimit-->
|
||||
<label for="userlimit">Teilnehmeranzahl:</label>
|
||||
<div class="btn-toolbar row" id="userlimit">
|
||||
<div class="btn-group btn-group-toggle col-sm-4" data-toggle="buttons">
|
||||
<label class="btn btn-secondary active">
|
||||
<input type="radio" name="limit" value="INFINITE" checked>
|
||||
Unbegrenzt
|
||||
</label>
|
||||
<label class="btn btn-secondary">
|
||||
<input type="radio" name="limit" value="LOCKED"> Begrenzt
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="input-group col-sm-8">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text text-monospace">Limit:</span>
|
||||
</div>
|
||||
<input type="number" class="form-control" th:name="userlimit" value="1"
|
||||
min="1" max="100000" required>
|
||||
<div class="input-group-append">
|
||||
<span class="input-group-text text-monospace">Teilnehmer</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content-text" th:if="${account.getRoles().contains('orga')}">
|
||||
<!--CSV-->
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text text-monospace">CSV:</span>
|
||||
</div>
|
||||
<div class="custom-file">
|
||||
<input type="file" class="custom-file-input" id="file" th:name="file">
|
||||
<label class="custom-file-label" for="file">Datei auswählen</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--Submit-->
|
||||
<button class="btn btn-primary btn-block" type="submit">Gruppe Erstellen</button>
|
||||
|
||||
<!--<div class="custom-control custom-checkbox" id="privateCheckbox">
|
||||
<!–DUMMY–>
|
||||
<input type="hidden" id="visibilityDummy" name="visibility" value="0"/>
|
||||
<input class="custom-control-input" type="checkbox" id="visibility" onchange="$('#visibilityDummy').val(this.checked ? 1 : 0)"/>
|
||||
<label class="custom-control-label" for="visibility">Privat</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-checkbox" id="lectureCheckbox">
|
||||
<!–DUMMY–>
|
||||
<input type="hidden" id="lectureDummy" name="lecture" value="0"/>
|
||||
<input class="custom-control-input" type="checkbox" id="lecture" onchange="$('#lectureDummy').val(this.checked ? 1 : 0)"/>
|
||||
<label class="custom-control-label" for="lecture">Veranstaltung</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group mt-3" id="lectureParent">
|
||||
<label for="parent">Veranstaltungszugehörigkeit</label>
|
||||
<select class="form-control" id="parent" th:name="parent">
|
||||
<option value="" selected>--Keine--</option>
|
||||
<option th:each="lecture : ${lectures}" name="parent" th:value="${lecture.getId()}" th:text="${lecture.getTitle()}"></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-checkbox">
|
||||
<!–DUMMY–>
|
||||
<input type="hidden" id="maxInfiniteUsersDummy" name="maxInfiniteUsers" value="0"/>
|
||||
<input class="custom-control-input" type="checkbox" id="maxInfiniteUsers"
|
||||
onchange="$('#maxInfiniteUsersDummy').val(this.checked ? 1 : 0)"/>
|
||||
<label class="custom-control-label" for="maxInfiniteUsers">Anzahl
|
||||
unbegrenzt</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group mt-3" id="userMaximum">
|
||||
<label for="userMax">Teilnehmeranzahl</label>
|
||||
<input class="form-control" id="userMax" th:name="userMaximum" type="number" min="1" max="100000" value="1">
|
||||
</div>-->
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Add the following code if you want the name of the file appear on select
|
||||
$(".custom-file-input").on("change", function () {
|
||||
const fileName = $(this).val().split("\\").pop();
|
||||
$(this).siblings(".custom-file-label").addClass("selected").html(fileName);
|
||||
});
|
||||
|
||||
function disableParent() {
|
||||
$('#parentselect').prop('disabled', true);
|
||||
}
|
||||
|
||||
function enableParent() {
|
||||
$('#parentselect').prop('disabled', false);
|
||||
}
|
||||
</script>
|
||||
|
||||
</main>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user