Anpassungen an das neue Konzept

This commit is contained in:
2026-04-19 13:02:48 +02:00
parent 79ec1acf94
commit 545542b578
34 changed files with 82 additions and 250 deletions

View File

@@ -48,3 +48,5 @@ Die Parameter sind zwar selbsterklärend, werden hier aber dennoch einmal kurz e
- In der Notenübersicht des zweiten Halbjahres kann optional eine Spalte für die Note des ersten Halbjahres angelegt werden. - In der Notenübersicht des zweiten Halbjahres kann optional eine Spalte für die Note des ersten Halbjahres angelegt werden.
- Bei der Erfassung von Hausaufgaben bzw. deren Nichterledigung können eine oder mehrere Zeilen pro SchülerIn angelegt werden. Die Anzahl 0 sorgt dafür, dass Hausaufgabenlisten ganz weggelassen werden. - Bei der Erfassung von Hausaufgaben bzw. deren Nichterledigung können eine oder mehrere Zeilen pro SchülerIn angelegt werden. Die Anzahl 0 sorgt dafür, dass Hausaufgabenlisten ganz weggelassen werden.
- Abschließend kann die Anzahl der Checklisten für diese Lerngruppe festgelegt werden. - Abschließend kann die Anzahl der Checklisten für diese Lerngruppe festgelegt werden.
*Tipp:* Die zusätzliche versteckte Option 'enger = ja' besetzt die Schriftgröße bei den SchülerInnen minimal kleiner. Das ist dann hilfreich, wenn eine Klasse oder ein Kurs einen Tick zu groß ist, so dass sich für alle Tabellen ein Zeilenumbruch ergibt.

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/small.css"); @import url("devices/css/small.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/small.css"); @import url("devices/css/small.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -1,18 +0,0 @@
/* Primäre Navileiste: aktuell ohne Schattierung */
.n1, .n2, .n3, .n4, .n5, .n6, .n7, .n8 {
}
/* Überschrift unter sekundärer Kurs-Navileiste: aktuell ohne Schattierung */
.h1, .h2, .h3, .h4, .h5, .h6, .h7, .h8 {
}
/* Stundenplan: Links einheitlich grau schattiert */
.t1, .t2, .t3, .t4, .t5, .t6, .t7, .t8 {
background-color: #f2f2f2;
}

View File

@@ -1,27 +0,0 @@
/* Navizelle, Titel und Stundenplanlink einheitlich eingefärbt */
.n1, .h1, .t1 {
background-color: dodgerblue;
}
.n2, .h2, .t2 {
background-color: limegreen;
}
.n3, .h3, .t3 {
background-color: lightcoral;
}
.n4, .h4, .t4 {
background-color: orange;
}
.n5, .h5, .t5 {
background-color: yellow;
}
.n6, .h6, .t6 {
background-color: orchid;
}
.n7, .h7, .t7 {
background-color: cyan;
}
.n8, .h8, .t8 {
background-color: teal;
}

View File

@@ -1,27 +0,0 @@
/* Navizelle, Titel und Stundenplanlink einheitlich eingefärbt */
.n1, .h1, .t1 {
background-color: lightpink;
}
.n2, .h2, .t2 {
background-color: powderblue;
}
.n3, .h3, .t3 {
background-color: lightgreen;
}
.n4, .h4, .t4 {
background-color: peachpuff;
}
.n5, .h5, .t5 {
background-color: lavender;
}
.n6, .h6, .t6 {
background-color: lightgoldenrodyellow;
}
.n7, .h7, .t7 {
background-color: darkseagreen;
}
.n8, .h8, .t8 {
background-color: cadetblue;
}

View File

@@ -7,6 +7,9 @@ h1, th, td, h1 {
th, td { th, td {
font-size: 140%; font-size: 140%;
} }
tr.enger td {
font-size: 135% !important;
}
th { th {
font-weight: 500; font-weight: 500;
} }
@@ -75,57 +78,6 @@ tr.header, tr.muster {
} }
/* Startseite inkl. Stundenplan */
h1.start {
margin-top: 60pt;
font-size: 200%;
margin-bottom: 10pt;
text-align: center;
}
table.timetable {
border: none;
width: 100%;
}
table.timetable tr {
border: none;
}
table.timetable a {
text-decoration: none;
color: black;
}
th.stunde, td.stunde {
width: 7.5%;
text-align: center;
border: 0.5px solid black;
border-right: 1px solid black;
}
th.tag, td.tag {
width: 18.5%;
text-align: center;
border: 0.5px solid black;
}
table.timetable th.stunde, th.tag {
border-bottom: 1px solid black;
}
table.timetable div {
padding-top: 4pt;
padding-bottom: -3pt;
padding-left: 2pt;
padding-right: 2pt;
margin-left: 0pt;
margin-right: 2pt;
border: 0.5px solid black;
}
table.timetable td.tag {
padding-top: 3pt;
padding-bottom: 1pt;
}
table.timetable td.stunde {
padding-top: 5pt;
padding-bottom: 1pt;
}
/* Übersichtstabelle */ /* Übersichtstabelle */
table.overview th.nr, th.name, th.endnote { table.overview th.nr, th.name, th.endnote {
vertical-align: bottom; vertical-align: bottom;

View File

@@ -7,6 +7,9 @@ h1, th, td, h1 {
th, td { th, td {
font-size: 120%; font-size: 120%;
} }
tr.enger td {
font-size: 115% !important;
}
th { th {
font-weight: 500; font-weight: 500;
} }
@@ -84,57 +87,6 @@ tr.header, tr.muster {
} }
/* Startseite inkl. Stundenplan */
h1.start {
margin-top: 40pt;
font-size: 170%;
margin-bottom: 10pt;
text-align: center;
}
table.timetable {
border: none;
width: 100%;
}
table.timetable tr {
border: none;
}
table.timetable a {
text-decoration: none;
color: black;
}
th.stunde, td.stunde {
width: 7.5%;
text-align: center;
border: 0.5px solid black;
border-right: 1px solid black;
}
th.tag, td.tag {
width: 18.5%;
text-align: center;
border: 0.5px solid black;
}
table.timetable th.stunde, th.tag {
border-bottom: 1px solid black;
}
table.timetable div {
padding-top: 4pt;
padding-bottom: -3pt;
padding-left: 2pt;
padding-right: 2pt;
margin-left: 0pt;
margin-right: 2pt;
border: 0.5px solid black;
}
table.timetable td.tag {
padding-top: 3pt;
padding-bottom: 1pt;
}
table.timetable td.stunde {
padding-top: 5pt;
padding-bottom: 1pt;
}
/* Übersichtstabelle */ /* Übersichtstabelle */
table.overview th.nr, th.name, th.endnote { table.overview th.nr, th.name, th.endnote {
vertical-align: bottom; vertical-align: bottom;

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/small.css"); @import url("devices/css/small.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/small.css"); @import url("devices/css/small.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/small.css"); @import url("devices/css/small.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/small.css"); @import url("devices/css/small.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/small.css"); @import url("devices/css/small.css");
@import url("devices/css/color.css");

View File

@@ -7,6 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color-paperpro.css");

View File

@@ -7,6 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color-paperpro.css");

View File

@@ -7,6 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color-paperpro.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/color.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/blackwhite.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/blackwhite.css");

View File

@@ -7,5 +7,3 @@
} }
@import url("devices/css/large.css"); @import url("devices/css/large.css");
@import url("devices/css/blackwhite.css");

View File

@@ -15,6 +15,11 @@ def erstelleCheckliste(kursid, klassekurs_name, dateien, path, namen, gebdaten,
if (check_seiten==0): if (check_seiten==0):
check_seiten = 1 check_seiten = 1
enger = False
if ("enger" in kurs_inputs):
if (kurs_inputs["enger"]=='ja'):
enger = True
check_anzahl = int(config["Checkliste"]["anzahl_checks"]) check_anzahl = int(config["Checkliste"]["anzahl_checks"])
try: try:
@@ -51,7 +56,12 @@ def erstelleCheckliste(kursid, klassekurs_name, dateien, path, namen, gebdaten,
count = 0 count = 0
for name in namen: for name in namen:
count = count + 1 count = count + 1
table += '<tr><td class="nr">'+str(count)+'</td><td class="name">'+name+'</td>'
cssenger = ''
if (enger):
cssenger = ' class="enger"'
table += '<tr'+cssenger+'><td class="nr">'+str(count)+'</td><td class="name">'+name+'</td>'
for i in range(check_anzahl): for i in range(check_anzahl):
table += '<td class="'+css+'"></td>' table += '<td class="'+css+'"></td>'
table += '</tr>' table += '</tr>'

View File

@@ -19,6 +19,11 @@ def erstelleHABogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, con
print('Der Schlüssel "ha_zeilen" existiert nicht für die Lerngruppe in der Input-Datei!') print('Der Schlüssel "ha_zeilen" existiert nicht für die Lerngruppe in der Input-Datei!')
exit(0) exit(0)
enger = False
if ("enger" in kurs_inputs):
if (kurs_inputs["enger"]=='ja'):
enger = True
try: try:
namen_kurzlang = config["Namen"]["form"] namen_kurzlang = config["Namen"]["form"]
except KeyError: except KeyError:
@@ -58,7 +63,11 @@ def erstelleHABogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, con
for zeile in range(0, ha_zeilen): for zeile in range(0, ha_zeilen):
table += '<tr>' cssenger = ''
if (enger):
cssenger = ' class="enger"'
table += '<tr'+cssenger+'>'
if zeile==0: if zeile==0:
table += '<td class="nr"'+rowspan+'>'+str(count)+'</td>' table += '<td class="nr"'+rowspan+'>'+str(count)+'</td>'

View File

@@ -1,8 +1,6 @@
import os import os
def erstelleKursnavigation(kursid, line, current, klassekurs_name, gebdaten, lerngruppen, path, config, inputs, kurs_inputs): def erstelleKursnavigation(kursid, line, current, klassekurs_name, gebdaten, lerngruppen, path, config, inputs, kurs_inputs):
# 1. Teil Navigationsleiste # 1. Teil Navigationsleiste

View File

@@ -19,6 +19,11 @@ def erstelleKorrekturbogen(kursid, klassekurs_name, dateien, path, namen, gebdat
print('Ein Parameter "schriftlich_XYZ" fehlt für die Lerngruppe in der Input-Datei!') print('Ein Parameter "schriftlich_XYZ" fehlt für die Lerngruppe in der Input-Datei!')
exit(0) exit(0)
enger = False
if ("enger" in kurs_inputs):
if (kurs_inputs["enger"]=='ja'):
enger = True
try: try:
device = inputs["Allgemein"]["device"] device = inputs["Allgemein"]["device"]
except KeyError: except KeyError:
@@ -69,7 +74,12 @@ def erstelleKorrekturbogen(kursid, klassekurs_name, dateien, path, namen, gebdat
count = 0 count = 0
for name in namen: for name in namen:
count = count + 1 count = count + 1
table += '<tr><td class="nr">'+str(count)+'</td><td class="name">'+name+'</td>'
cssenger = ''
if (enger):
cssenger = ' class="enger"'
table += '<tr'+cssenger+'><td class="nr">'+str(count)+'</td><td class="name">'+name+'</td>'
for i in range(aufgaben_anzahl): for i in range(aufgaben_anzahl):
table += '<td class="korrektur"></td>' table += '<td class="korrektur"></td>'
table += '<td class="summe"></td><td class="aknote"></td>' table += '<td class="summe"></td><td class="aknote"></td>'

View File

@@ -18,6 +18,11 @@ def erstelleSoMiBogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, c
print('Ein Parameter "somi_XYZ" fehlt für die Lerngruppe in der Input-Datei!') print('Ein Parameter "somi_XYZ" fehlt für die Lerngruppe in der Input-Datei!')
exit(0) exit(0)
enger = False
if ("enger" in kurs_inputs):
if (kurs_inputs["enger"]=='ja'):
enger = True
noten_anzahl = int(config["SoMiNoten"]["anzahl_noten"]) noten_anzahl = int(config["SoMiNoten"]["anzahl_noten"])
kompakt = config["SoMiNoten"]["kompakt"] kompakt = config["SoMiNoten"]["kompakt"]
@@ -88,7 +93,11 @@ def erstelleSoMiBogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, c
for zeile in range(0, somi_zeilen): for zeile in range(0, somi_zeilen):
table += '<tr>' cssenger = ''
if (enger):
cssenger = ' class="enger"'
table += '<tr'+cssenger+'>'
if zeile==0: if zeile==0:
if (kompakt!="ja"): if (kompakt!="ja"):

View File

@@ -23,6 +23,11 @@ def erstelleUebersicht(kursid, klassekurs_name, dateien, path, namen, gebdaten,
if (kurs_inputs["vorjahresnote"]=='ja'): if (kurs_inputs["vorjahresnote"]=='ja'):
vorjahresnote = True vorjahresnote = True
enger = False
if ("enger" in kurs_inputs):
if (kurs_inputs["enger"]=='ja'):
enger = True
try: try:
namen_kurzlang = config["Namen"]["form"] namen_kurzlang = config["Namen"]["form"]
except KeyError: except KeyError:
@@ -87,7 +92,11 @@ def erstelleUebersicht(kursid, klassekurs_name, dateien, path, namen, gebdaten,
for name in namen: for name in namen:
count = count + 1 count = count + 1
table += '<tr><td class="nr">'+str(count)+'</td><td class="name">'+name+'</td>' cssenger = ''
if (enger):
cssenger = ' class="enger"'
table += '<tr'+cssenger+'><td class="nr">'+str(count)+'</td><td class="name">'+name+'</td>'
if (halbjahr=='1' and vorjahresnote): if (halbjahr=='1' and vorjahresnote):
table += '<td class="hj"></td>' table += '<td class="hj"></td>'