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:
|
if startperiod < 0 or startperiod > endperiod:
|
||||||
raise KlausurplanImportError(f"Zu importierender Plan für die Stufe {stufe.name} enthält ungültigen "
|
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"Zeitraum (Termin: {termin.attributes['Datum'].value}; VonStd: {startperiod} "
|
||||||
f"{endperiod})")
|
f"BisStd: {endperiod})")
|
||||||
|
|
||||||
if db.session.query(exists().where(and_(Klausur.date == date, Klausur.stufe == stufe))).scalar():
|
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 "
|
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):
|
def __str__(self):
|
||||||
return f"{self.kursname}, {self.stufe.name} (ID:{self.id})"
|
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):
|
def is_bygone(self):
|
||||||
"""
|
"""
|
||||||
:return: ``True``, falls diese Klausur vergangen ist, ``False``, falls nicht
|
:return: ``True``, falls diese Klausur vergangen ist, ``False``, falls nicht
|
||||||
|
|||||||
@@ -2,14 +2,7 @@
|
|||||||
|
|
||||||
{# von Niklas Elsbrock #}
|
{# von Niklas Elsbrock #}
|
||||||
|
|
||||||
|
{% import 'macros.j2' as macros %}
|
||||||
{% macro zeitraum(klausur) -%}
|
|
||||||
{{- klausur.startperiod }}.
|
|
||||||
{%- if klausur.startperiod != klausur.endperiod -%}
|
|
||||||
–{{ klausur.endperiod }}.
|
|
||||||
{%- endif %}
|
|
||||||
{%- endmacro %}
|
|
||||||
|
|
||||||
|
|
||||||
<!-- generiert aus Template-Code von Niklas Elsbrock -->
|
<!-- generiert aus Template-Code von Niklas Elsbrock -->
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
{% for k in not_edited_list %}
|
{% for k in not_edited_list %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ url_for('klausuren.edit', klausur_id=k.id, _external=True) }}">
|
<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>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@@ -21,11 +21,11 @@
|
|||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
Klausur: {{ klausur.kursname }}
|
Klausur: {{ klausur.kursname }}
|
||||||
({{ klausur.date_formatted() }}; {{ klausur.lehrer.kuerzel }}, {{ klausur.stufe.name }})
|
({{ macros.date(klausur.date) }}; {{ klausur.lehrer.kuerzel }}, {{ klausur.stufe.name }})
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block header %}
|
{% block header %}
|
||||||
Klausur: {{ klausur.kursname }}
|
Klausur: {{ klausur.kursname }}
|
||||||
({{ klausur.date_formatted() }}; {{ klausur.lehrer.kuerzel }}, {{ klausur.stufe.name }})
|
({{ macros.date(klausur.date) }}; {{ klausur.lehrer.kuerzel }}, {{ klausur.stufe.name }})
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{# klausur #}
|
{# klausur #}
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<p class="description">
|
<p class="description">
|
||||||
{{ zeitraum(klausur) }} Stunde;
|
{{ macros.zeitraum(klausur) }} Stunde;
|
||||||
{{ Klausurteilnahme.query.filter_by(klausur_id=klausur.id).count() }} Schüler
|
{{ Klausurteilnahme.query.filter_by(klausur_id=klausur.id).count() }} Schüler
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|||||||
@@ -45,10 +45,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{% for kv in klausuren_vergangen %}
|
{% for kv in klausuren_vergangen %}
|
||||||
<tr class="clickable" tabindex="0" data-href="{{ url_for('klausuren.edit', klausur_id=kv.id) }}">
|
<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.stufe.name }}</td>
|
||||||
<td>{{ kv.kursname }}</td>
|
<td>{{ kv.kursname }}</td>
|
||||||
<td>{{ zeitraum(kv) }} Std.</td>
|
<td>{{ macros.zeitraum(kv) }} Std.</td>
|
||||||
{% if kv.edited %}
|
{% if kv.edited %}
|
||||||
<td class="positive-status">ja</td>
|
<td class="positive-status">ja</td>
|
||||||
{% else %}
|
{% else %}
|
||||||
@@ -78,10 +78,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{% for ka in klausuren_anstehend %}
|
{% for ka in klausuren_anstehend %}
|
||||||
<tr class="clickable" tabindex="0" data-href="{{ url_for('klausuren.edit', klausur_id=ka.id) }}">
|
<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.stufe.name }}</td>
|
||||||
<td>{{ ka.kursname }}</td>
|
<td>{{ ka.kursname }}</td>
|
||||||
<td>{{ zeitraum(ka) }} Std.</td>
|
<td>{{ macros.zeitraum(ka) }} Std.</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -56,7 +56,7 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
{% for dates_list in (dates_anstehend, dates_vergangen) %}
|
{% for dates_list in (dates_anstehend, dates_vergangen) %}
|
||||||
{% if loop.index0 == 1 %}
|
{% 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 %}
|
{% endif %}
|
||||||
|
|
||||||
{% for date in dates_list %}
|
{% for date in dates_list %}
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
|
|
||||||
<h3>
|
<h3>
|
||||||
<span>
|
<span>
|
||||||
{{ util.format_date(date) }}:
|
{{ macros.date(date) }}:
|
||||||
<a class="scroll-anchor" name="{{ date_iso }}" href="#{{ date_iso }}"></a>
|
<a class="scroll-anchor" name="{{ date_iso }}" href="#{{ date_iso }}"></a>
|
||||||
</span>
|
</span>
|
||||||
</h3>
|
</h3>
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
data-href="{{ url_for('klausuren.edit', klausur_id=k.id) }}" {% endif %}>
|
data-href="{{ url_for('klausuren.edit', klausur_id=k.id) }}" {% endif %}>
|
||||||
<td>{{ k.lehrer.kuerzel }}</td>
|
<td>{{ k.lehrer.kuerzel }}</td>
|
||||||
<td>{{ k.kursname }}</td>
|
<td>{{ k.kursname }}</td>
|
||||||
<td>{{ zeitraum(k) }} Std.</td>
|
<td>{{ macros.zeitraum(k) }} Std.</td>
|
||||||
{% if lehrer_can_access %}
|
{% if lehrer_can_access %}
|
||||||
{% if k.edited %}
|
{% if k.edited %}
|
||||||
<td class="positive-status">ja</td>
|
<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 }},
|
<span class="detail">({% if kt.schueler.stammschule is not none %}{{ kt.schueler.stammschule.name }},
|
||||||
{% endif %}{{ kt.schueler.id }})</span>
|
{% endif %}{{ kt.schueler.id }})</span>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ kt.klausur.date_formatted() }}</td>
|
<td>{{ macros.date(kt.klausur.date) }}</td>
|
||||||
<td>{{ kt.klausur.kursname }}</td>
|
<td>{{ kt.klausur.kursname }}</td>
|
||||||
<td>{{ kt.klausur.lehrer.kuerzel }}</td>
|
<td>{{ kt.klausur.lehrer.kuerzel }}</td>
|
||||||
<td>{{ kt.klausur.laenge }}</td>
|
<td>{{ kt.klausur.laenge }}</td>
|
||||||
|
|||||||
@@ -78,17 +78,6 @@ def validate_bcrypt_password(password: str) -> bool:
|
|||||||
return len(password.encode("utf-8")) <= 72
|
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:
|
def is_integer_string(s: str) -> bool:
|
||||||
"""
|
"""
|
||||||
Überprüft, ob der String ``s`` in einen Integer umgewandelt werden kann
|
Überprüft, ob der String ``s`` in einen Integer umgewandelt werden kann
|
||||||
|
|||||||
Reference in New Issue
Block a user