Release - Upload

This commit is contained in:
Js_Sman_Omen
2025-03-24 14:34:56 +01:00
commit 89f35ca466
370 changed files with 32904 additions and 0 deletions
@@ -0,0 +1,9 @@
{% extends 'base.html' %}
{% block title %}Prüfungsplan - Datenbank gelöscht{% endblock %}
{% block content %}
<h1>Hinweis</h1>
Datenbank gelöscht!
{% endblock %}
+80
View File
@@ -0,0 +1,80 @@
{% extends 'pruefplan/tableBase.html' %}
{% block title %}Prüfungsplan - Ansicht Prüfungen{% endblock %}
{% block additionalScript %}
<script>
$.fn.dataTable.moment( 'DD.MM.YYYY HH:mm' );
</script>
{% endblock %}
{% block table %}
<h3>Prüfungsplan - Ansicht Prüfungen</h3>
<div class="container mb-3 mt-3" >
<table id="examTable" class="display" style="width: 100%">
<thead>
<tr>
<th>Datum</th>
<th>Wochentag</th>
<th>Fachkennung</th>
<th>Fächer</th>
<th>Fächerbezeichnung</th>
<th>Teilprüfung</th>
<th>Aufsichtsperson</th>
</tr>
</thead>
<tbody>
{% for ex in exams %}
<tr>
<td>{{ ex.date|date:"d.m.Y" }} {{ ex.time|date:"H:i" }}</td>
<td>{{ ex.weekday }}</td>
<td>
{% for partialExam in ex.partialexam_set.all %}
{% for subject in partialExam.subjectIds.all %}
{{ subject.initials }}<br/>
{% endfor %}
{% endfor %}
</td>
<td>
{% for partialExam in ex.partialexam_set.all %}
{{ partialExam.identification }} <br/>
{% endfor %}
</td>
<td>
{% for partialExam in ex.partialexam_set.all %}
{% for subject in partialExam.subjectIds.all %}
{{ subject.name }}<br/>
{% endfor %}
{% endfor %}
</td>
<td>
{% for partialExam in ex.partialexam_set.all %}
{% for subject in partialExam.subjectIds.all %}
{{ subject.identification }}<br/>
{% endfor %}
{% endfor %}
</td>
<td>
{% for supervisor in supervisorSetDict|get_item:ex.identification %}
{{ supervisor }}<br/>
{% endfor %}
</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<script>
$('#examTable').DataTable({
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"language": { url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/German.json'}
});
</script>
{% endblock %}
@@ -0,0 +1,30 @@
{% extends 'base.html' %}
{% block content %}
<div style="padding:20px;">
<h3>Fehlermeldungen</h3>
<div style="margin-top:40px;">
<h4>Beim Upload und Einlesen der Rohdateien sind folgende Fehler aufgetreten: </h4>
<ul>
{% for exception in exceptions %}
<p>{{ exception }}</p>
{% endfor %}
</ul>
</div>
</div>
<div style="padding:20px;">
<h3>Warnmeldungen</h3>
<div style="margin-top:40px;">
<h4>Beim Upload und Einlesen der Rohdateien sind folgende Warnmeldungen aufgetreten: </h4>
<ul>
{% for warning in warnings %}
<p>{{ warning }}</p>
{% endfor %}
</ul>
</div>
</div>
{% endblock %}
+50
View File
@@ -0,0 +1,50 @@
{% extends 'pruefplan/tableBase.html' %}
{% load static %}
{% block title%}Prüfungsplan - Ansicht Lehrkräfte{% endblock %}
{% block table %}
<h3>Prüfungsplan - Ansicht Lehrkräfte</h3>
<div class="container mb-3 mt-3">
<table id="lecturerTable" class="display" style="width: 100%">
<thead>
<tr>
<th>ID</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Titel</th>
<th>Prüfungen</th>
</tr>
</thead>
<tbody>
{% for lec in lecturers %}
<tr>
<td>{{ lec.identification }}</td>
<td>{{ lec.firstName }}</td>
<td>{{ lec.lastName }}</td>
<td>{{ lec.title }}</td>
<td>
<a href="{% url 'pp_viewer:examForLecturer' lecturer_id=lec.identification %}" role="button" class="btn btn-outline-warning">
<img src="{% static 'open-iconic/svg/list.svg' %}" alt="Prüfungen" width="20" height="20" >
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot></tfoot>
</table>
</div>
<script>
var lecturerTable = $("#lecturerTable").DataTable({
lengthMenu: [
[10, 25, 50, -1],
[10, 25, 50, "All"]
],
language: { url: "//cdn.datatables.net/plug-ins/1.10.24/i18n/German.json" }
});
</script>
{% endblock %}
@@ -0,0 +1,230 @@
<!DOCTYPE html!>
{% extends "pruefplan/tableBase.html" %}
{% load static %}
{% block additionalScript %}
<script>
$.fn.dataTable.moment("DD.MM.YYYY HH:mm");
</script>
{% endblock %}
{% block table %}
<div class="container mb-3 mt-3">
<h3>Prüfungsplan - {{ lecturer.firstName }} {{ lecturer.lastName }}</h3>
<table id="lecturerExamTable"
class="display table-striped"
style="width: 100%">
<thead>
<tr>
<th>Datum</th>
<th>Wochentag</th>
<th>Raum</th>
<th>Fachkennung</th>
<th>Fächer</th>
<th>Fächerbezeichnung</th>
<th>Teilprüfung</th>
<th>Anzahl Anmeldungen</th>
<th>Aufsichtsart</th>
</tr>
</thead>
<tbody>
{% for examExeLine in lecExamLines %}
<tr data-toggle="collapse" data-target="#{{ forloop.counter }}" class="accordion-toggle">
<td>{{ examExeLine.date|date:"d.m.Y" }} {{ examExeLine.time|date:"H:i" }}</td>
<td>{{ examExeLine.weekday }}</td>
<td>{{ examExeLine.location|default_if_none:'' }}</td>
<td>{{ examExeLine.examIdent|default_if_none:'' }}</td>
<td>
{% for subject in examExeLine.subjectIds.all %}
{{ subject.initials }}
<br />
{% endfor %}
</td>
<td>
{% for subject in examExeLine.subjectIds.all %}
{{ subject.name }}
<br />
{% endfor %}
</td>
<td>
{% for subject in examExeLine.subjectIds.all %}
{{ subject.identification }}
<br />
{% endfor %}
</td>
<td>{{ examExeLine.examStudCound|default_if_none:'' }}</td>
<td>{{ examExeLine.supervisorType }}</td>
</tr>
<tr class="accordian-body collapse" id="{{ forloop.counter }}">
<td colspan="9">
<div>
<table class="table-nostriped"
cellpadding="5"
cellspacing="0"
border="0"
style="padding-left: 50px">
<tr>
<td>Aufsichtspersonen:</td>
<td>
{% for examExecutions in examExeLine.executionSet %}
{{ examExecutions.lecturer.firstName }} {{ examExecutions.lecturer.lastName }}
<br />
{% endfor %}
</td>
</tr>
<tr>
<td>Prüfungskennung:</td>
<td>{{ examExeLine.partialExamIdent }}</td>
</tr>
</table>
</div>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
{% endfor %}
</tbody>
{% comment %}
<tfoot>
</tfoot>
{% endcomment %}
</table>
</div>
<script>
$("#lecturerExamTable").DataTable({
lengthMenu: [[-1], ["Alle"]],
ordering: false,
bInfo: false,
language: { url: "//cdn.datatables.net/plug-ins/1.10.24/i18n/German.json" }
});
</script>
{% endblock %}
{% comment %}
<tbody>
{% for examExeLine in lecExamExes %}
<tr data-toggle="collapse" data-target="#{{forloop.counter}}" class="accordion-toggle">
<td>
{{ examExeLine.partialExam.exam.date|date:"d.m.Y" }} {{
examExeLine.partialExam.exam.time|date:"H:i" }}
</td>
<td>{{ examExeLine.partialExam.exam.weekday }}</td>
<td>{{ examExeLine.location }}</td>
{% endblock %} {% comment %}
<tbody>
{% for examExeLine in lecExamExes %}
<tr data-toggle="collapse" data-target="#{{forloop.counter}}" class="accordion-toggle">
<td>
{{ examExeLine.partialExam.exam.date|date:"d.m.Y" }} {{
examExeLine.partialExam.exam.time|date:"H:i" }}
</td>
<td>{{ examExeLine.partialExam.exam.weekday }}</td>
<td>{{ examExeLine.location }}</td>
<td>
{% for subject in examExeLine.subjectIds.all %}{{ subject.initials }}<br />{% endfor %}
</td>
<td>{{ examExeLine.partialExam.identification }}</td>
<td>
{% for subject in examExeLine.subjectIds.all %}{{ subject.name }}<br />{% endfor %}
</td>
<td>
{% for subject in examExeLine.subjectIds.all %} {{ subject.identification
}}<br />
{% endfor %}
</td>
<td>
{% for subject in examExeLine.subjectIds.all %} {{ subject.initials }}<br />
{% endfor %}
</td>
<td>{{ examExeLine.partialExam.identification }}</td>
<td>
{% for subject in examExeLine.subjectIds.all %} {{ subject.name }}<br />
{% endfor %}
</td>
<td>
{% for subject in examExeLine.subjectIds.all %} {{ subject.identification
}}<br />
{% endfor %}
</td>
<td>{{ examExeLine.partialExam.regStudCount }}</td>
<td>{{ examExeLine.supervisorType }}</td>
</tr>
<tr class="accordian-body collapse" id="{{forloop.counter}}">
<td colspan="9">
<div>
<table class="table-nostriped" cellpadding="5" cellspacing="0" border="0" style="padding-left: 50px">
<tr>
<td>Aufsichtspersonen:</td>
<td>
{% for examExecutions in
examExeLine.partialExam.examexecution_set.all %} {{
examExecutions.lecturer.firstName }} {{
examExecutions.lecturer.lastName }}<br />
{% endfor %}
</td>
</tr>
<tr>
<td>Prüfungskennung:</td>
<td>{{ examExeLine.partialExam.exam.identification }}</td>
</tr>
</table>
</div>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
{% endfor %}
</tbody>
<td>{{ examExeLine.partialExam.regStudCount }}</td>
<td>{{ examExeLine.supervisorType }}</td>
</tr>
<tr class="accordian-body collapse" id="{{ forloop.counter }}">
<td colspan="9">
<div>
<table class="table-nostriped" cellpadding="5" cellspacing="0" border="0" style="padding-left: 50px">
<tr>
<td>Aufsichtspersonen:</td>
<td>
{% for examExecutions in
examExeLine.partialExam.examexecution_set.all %}
{{
examExecutions.lecturer.firstName }} {{
examExecutions.lecturer.lastName }}
<br />
{% endfor %}
</td>
</tr>
<tr>
<td>Prüfungskennung:</td>
<td>{{ examExeLine.partialExam.exam.identification }}</td>
</tr>
</table>
</div>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
{% endfor %}
</tbody>
{% endcomment %}
+5
View File
@@ -0,0 +1,5 @@
{% extends 'base.html' %}
{% block content %}
Lesen der Json-Dateien und eintragen in die Datenbank abgeschlossen
{% endblock %}
+42
View File
@@ -0,0 +1,42 @@
{% extends 'pruefplan/tableBase.html' %}
{% load static %}
{% block title %}Prüfungsplan - Ansicht Studierende{% endblock %}
{% block table %}
<h3>Prüfungsplan - Ansicht Studierende</h3>
<div class="container mb-3 mt-3" >
<table id="studentTable" class="display" style="width: 100%">
<thead>
<tr>
<th>Matrikelnummer</th>
<th>Prüfungen</th>
</tr>
</thead>
<tbody>
{% for student in students %}
<tr>
<td>{{ student.matrikel }}</td>
<td>
<a href="{% url 'pp_viewer:examForStudent' student_id=student.matrikel %}" role="button" class="btn btn-outline-warning">
<img src="{% static 'open-iconic/svg/list.svg' %}" alt="Prüfungen" width="20" height="20" >
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<script>
var studentTable = $('#studentTable').DataTable({
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"language": { url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/German.json'}
});
</script>
{% endblock %}
@@ -0,0 +1,70 @@
{% extends 'pruefplan/tableBase.html' %}
{% block additionalScript %}
<script>
$.fn.dataTable.moment( 'DD.MM.YYYY' );
</script>
{% endblock %}
{% block table %}
<div class="container mb-3 mt-3" >
<h3>Prüfungsplan - Matrikelnummer: {{ student.matrikel}}</h3>
<p>Hinweis: Sie können mit einem Bookmark auf diese Seite jederzeit auf Ihren Prüfungsplan zugreifen.</p>
<table id="studentExamTable" class="display table-striped" style="width: 100%">
<thead>
<tr>
<th>Datum</th>
<th>Uhrzeit</th>
<th>Wochentag</th>
<th>Raum</th>
<th>Fachkennung</th>
<th>Fächer</th>
<th>Aufsichtsperson</th>
<th>Fächerbezeichung</th>
<th>Teilpfrüfung</th>
</tr>
</thead>
<tbody>
{% for exam in exams %}
<tr>
<td>{{ exam.date|date:"d.m.Y" }}</td>
<td>{{ exam.time|date:"H:i" }}</td>
<td>{{ exam.weekday }}</td>
<td>{{ exam.location }}</td>
<td>
{% for subject in exam.examExecution.subjectIds.all %}
{{ subject.initials }}<br/>
{% endfor %}
</td>
<td>{{ exam.examExecution.partialExam.identification }}</td>
<td>{{ exam.examExecution.lecturer.firstName }} {{ exam.examExecution.lecturer.lastName }}</td>
<td>
{% for subject in exam.examExecution.subjectIds.all %}
{{ subject.name }}<br/>
{% endfor %}
</td>
<td>
{% for subject in exam.examExecution.subjectIds.all %}
{{ subject.identification }}<br/>
{% endfor %}
</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<script>
$('#studentExamTable').DataTable({
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"language": { url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/German.json'}
});
</script>
{% endblock %}
+39
View File
@@ -0,0 +1,39 @@
{% extends 'pruefplan/tableBase.html' %}
{% block title %}Prüfungsplan - Ansicht Fächer{% endblock %}
{% block table %}
<h3>Prüfungsplan - Ansicht Fächer</h3>
<div class="container mb-3 mt-3" >
<table id="subjectTable" class="display" style="width: 100%">
<thead>
<tr>
<th>Identification</th>
<th>Initials</th>
<th>Name</th>
</tr>
</thead>
<tbody>
{% for sub in subjects %}
<tr>
<td>{{ sub.identification }}</td>
<td>{{ sub.initials }}</td>
<td>{{ sub.name }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<script>
$('#subjectTable').DataTable({
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"language": { url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/German.json'}
});
</script>
{% endblock %}
@@ -0,0 +1,23 @@
{% extends 'base.html' %}
{% block title %}Prüfungsplan{% endblock %}
{% block content %}
<!--Bootstrap sortable table-->
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
<!--Sort DateTime-->
<script src="https://momentjs.com/downloads/moment.js" type="text/javascript"></script>
<script src="http://cdn.datatables.net/plug-ins/1.10.9/sorting/datetime-moment.js"></script>
<!--Sort custom enum data e.g. weekday-->
<script src="https://cdn.datatables.net/plug-ins/1.10.21/sorting/enum.js"></script>
<script>
$.fn.dataTable.enum( [ 'MONTAG', 'DIENSTAG', 'MITTWOCH', 'DONNERSTAG', 'FREITAG', 'SAMSTAG', 'SONNTAG' ] );
</script>
{% block additionalScript %}{% endblock %}
{% block table %}{% endblock %}
{% endblock %}
+31
View File
@@ -0,0 +1,31 @@
{% extends 'base.html' %}
{% block title %}Prüfungsplan{% endblock %}
{% block content %}
<h3>Hochladen der JSON-Dateien</h3>
<div style="padding:20px;">
<form action="upload_file" method="post" enctype="multipart/form-data">
{% csrf_token %}
Dozenten:
{{ form.lecturers_file }}
<br />
<br />
Faecher:
{{ form.subjects_file }}
<br />
<br />
Präsenzen:
{{ form.attendance_file }}
<br />
<br />
Pruefungen:
{{ form.exams_file }}
<br />
<br />
Saaleinteilung:
{{ form.student_file }}
<br />
<br />
<button type="submit">Upload</button>
</form>
</div>
{% endblock %}