mirror of
https://github.com/nelsbrock/NateMan.git
synced 2026-08-14 21:36:49 +02:00
Jinja-Macros separiert und time-Tags hinzugefügt
This commit is contained in:
+2
-2
@@ -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 "
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,14 +2,7 @@
|
||||
|
||||
{# von Niklas Elsbrock #}
|
||||
|
||||
|
||||
{% macro zeitraum(klausur) -%}
|
||||
{{- klausur.startperiod }}.
|
||||
{%- if klausur.startperiod != klausur.endperiod -%}
|
||||
–{{ klausur.endperiod }}.
|
||||
{%- endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
{% import 'macros.j2' as macros %}
|
||||
|
||||
<!-- generiert aus Template-Code von Niklas Elsbrock -->
|
||||
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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="">heute ({{ util.format_date(datetime.now()) }})</div>
|
||||
<div id="heute" class="labeled-hr" data-icon="">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>
|
||||
|
||||
@@ -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 -%}
|
||||
–{{ 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>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user