Jinja-Macros separiert und time-Tags hinzugefügt

This commit is contained in:
2021-07-28 23:33:53 +02:00
parent c5371af7c9
commit c2b936dc8e
10 changed files with 27 additions and 39 deletions
+2 -2
View File
@@ -78,8 +78,8 @@ def import_plan(xml_file: TextIO, stufe: Stufe, new_lehrer_pwd: str) -> None:
if startperiod < 0 or startperiod > endperiod:
raise KlausurplanImportError(f"Zu importierender Plan für die Stufe {stufe.name} enthält ungültigen "
f"Zeitraum (Termin: {util.format_date(date)}; VonStd: {startperiod} BisStd: "
f"{endperiod})")
f"Zeitraum (Termin: {termin.attributes['Datum'].value}; VonStd: {startperiod} "
f"BisStd: {endperiod})")
if db.session.query(exists().where(and_(Klausur.date == date, Klausur.stufe == stufe))).scalar():
raise KlausurplanImportError(f"Zu importierender Plan für die {stufe.name} enthält zwei Klausurtermine "
-6
View File
@@ -182,12 +182,6 @@ class Klausur(db.Model):
def __str__(self):
return f"{self.kursname}, {self.stufe.name} (ID:{self.id})"
def date_formatted(self) -> str:
"""
:return: Klausurdatum als String im Format WW, DD.MM.YYYY (siehe util.format_date)
"""
return util.format_date(self.date)
def is_bygone(self):
"""
:return: ``True``, falls diese Klausur vergangen ist, ``False``, falls nicht
+1 -8
View File
@@ -2,14 +2,7 @@
{# von Niklas Elsbrock #}
{% macro zeitraum(klausur) -%}
{{- klausur.startperiod }}.
{%- if klausur.startperiod != klausur.endperiod -%}
&ndash;{{ klausur.endperiod }}.
{%- endif %}
{%- endmacro %}
{% import 'macros.j2' as macros %}
<!-- generiert aus Template-Code von Niklas Elsbrock -->
+1 -1
View File
@@ -29,7 +29,7 @@
{% for k in not_edited_list %}
<li>
<a href="{{ url_for('klausuren.edit', klausur_id=k.id, _external=True) }}">
{{ k.kursname }} ({{ k.date_formatted() }}; {{ k.stufe.name }})
{{ k.kursname }} ({{ macros.date(k.date) }}; {{ k.stufe.name }})
</a>
</li>
{% endfor %}
+3 -3
View File
@@ -21,11 +21,11 @@
{% block title %}
Klausur: {{ klausur.kursname }}
({{ klausur.date_formatted() }}; {{ klausur.lehrer.kuerzel }}, {{ klausur.stufe.name }})
({{ macros.date(klausur.date) }}; {{ klausur.lehrer.kuerzel }}, {{ klausur.stufe.name }})
{% endblock %}
{% block header %}
Klausur: {{ klausur.kursname }}
({{ klausur.date_formatted() }}; {{ klausur.lehrer.kuerzel }}, {{ klausur.stufe.name }})
({{ macros.date(klausur.date) }}; {{ klausur.lehrer.kuerzel }}, {{ klausur.stufe.name }})
{% endblock %}
{# klausur #}
@@ -151,7 +151,7 @@
{% endif %}
<p class="description">
{{ zeitraum(klausur) }} Stunde;
{{ macros.zeitraum(klausur) }} Stunde;
{{ Klausurteilnahme.query.filter_by(klausur_id=klausur.id).count() }} Schüler
</p>
+4 -4
View File
@@ -45,10 +45,10 @@
<tbody>
{% for kv in klausuren_vergangen %}
<tr class="clickable" tabindex="0" data-href="{{ url_for('klausuren.edit', klausur_id=kv.id) }}">
<td>{{ kv.date_formatted() }}</td>
<td>{{ macros.date(kv.date) }}</td>
<td>{{ kv.stufe.name }}</td>
<td>{{ kv.kursname }}</td>
<td>{{ zeitraum(kv) }} Std.</td>
<td>{{ macros.zeitraum(kv) }} Std.</td>
{% if kv.edited %}
<td class="positive-status">ja</td>
{% else %}
@@ -78,10 +78,10 @@
<tbody>
{% for ka in klausuren_anstehend %}
<tr class="clickable" tabindex="0" data-href="{{ url_for('klausuren.edit', klausur_id=ka.id) }}">
<td>{{ ka.date_formatted() }}</td>
<td>{{ macros.date(ka.date) }}</td>
<td>{{ ka.stufe.name }}</td>
<td>{{ ka.kursname }}</td>
<td>{{ zeitraum(ka) }} Std.</td>
<td>{{ macros.zeitraum(ka) }} Std.</td>
</tr>
{% endfor %}
</tbody>
+3 -3
View File
@@ -56,7 +56,7 @@
{% else %}
{% for dates_list in (dates_anstehend, dates_vergangen) %}
{% if loop.index0 == 1 %}
<div id="heute" class="labeled-hr" data-icon="&#xf073;">heute ({{ util.format_date(datetime.now()) }})</div>
<div id="heute" class="labeled-hr" data-icon="&#xf073;">heute ({{ macros.date(datetime.now()) }})</div>
{% endif %}
{% for date in dates_list %}
@@ -65,7 +65,7 @@
<h3>
<span>
{{ util.format_date(date) }}:
{{ macros.date(date) }}:
<a class="scroll-anchor" name="{{ date_iso }}" href="#{{ date_iso }}"></a>
</span>
</h3>
@@ -88,7 +88,7 @@
data-href="{{ url_for('klausuren.edit', klausur_id=k.id) }}" {% endif %}>
<td>{{ k.lehrer.kuerzel }}</td>
<td>{{ k.kursname }}</td>
<td>{{ zeitraum(k) }} Std.</td>
<td>{{ macros.zeitraum(k) }} Std.</td>
{% if lehrer_can_access %}
{% if k.edited %}
<td class="positive-status">ja</td>
+12
View File
@@ -0,0 +1,12 @@
{% macro date(date) -%}
<time datetime="{{ date.strftime('%Y-%m-%d') }}">
{{- date.strftime('%a, %d.%m.%Y') -}}
</time>
{%- endmacro %}
{% macro zeitraum(klausur) -%}
{{- klausur.startperiod }}.
{%- if klausur.startperiod != klausur.endperiod -%}
&ndash;{{ klausur.endperiod }}.
{%- endif %}
{%- endmacro %}
@@ -64,7 +64,7 @@
<span class="detail">({% if kt.schueler.stammschule is not none %}{{ kt.schueler.stammschule.name }},
{% endif %}{{ kt.schueler.id }})</span>
</td>
<td>{{ kt.klausur.date_formatted() }}</td>
<td>{{ macros.date(kt.klausur.date) }}</td>
<td>{{ kt.klausur.kursname }}</td>
<td>{{ kt.klausur.lehrer.kuerzel }}</td>
<td>{{ kt.klausur.laenge }}</td>
-11
View File
@@ -78,17 +78,6 @@ def validate_bcrypt_password(password: str) -> bool:
return len(password.encode("utf-8")) <= 72
def format_date(date_: date) -> str:
"""
Formatiert ein Datumsobjekt nach dem deutschen Datumsformat, inklusive Wochentagkürzel (WW, DD.MM.YYYY).
von Niklas Elsbrock.
:param date_: zu formatierendes Datum
:return: formatiertes Datum als String
"""
return date_.strftime("%a, %d.%m.%Y")
def is_integer_string(s: str) -> bool:
"""
Überprüft, ob der String ``s`` in einen Integer umgewandelt werden kann