diff --git a/nateman/importer.py b/nateman/importer.py index 8194ed5..cdc146f 100644 --- a/nateman/importer.py +++ b/nateman/importer.py @@ -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 " diff --git a/nateman/models.py b/nateman/models.py index 3a97952..08308ba 100644 --- a/nateman/models.py +++ b/nateman/models.py @@ -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 diff --git a/nateman/templates/base.html.j2 b/nateman/templates/base.html.j2 index 09f4f8e..6b3ad50 100644 --- a/nateman/templates/base.html.j2 +++ b/nateman/templates/base.html.j2 @@ -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 %} diff --git a/nateman/templates/email/reminder.html.j2 b/nateman/templates/email/reminder.html.j2 index 1ca83d8..700f796 100644 --- a/nateman/templates/email/reminder.html.j2 +++ b/nateman/templates/email/reminder.html.j2 @@ -29,7 +29,7 @@ {% for k in not_edited_list %}
  • - {{ k.kursname }} ({{ k.date_formatted() }}; {{ k.stufe.name }}) + {{ k.kursname }} ({{ macros.date(k.date) }}; {{ k.stufe.name }})
  • {% endfor %} diff --git a/nateman/templates/klausuren/edit.html.j2 b/nateman/templates/klausuren/edit.html.j2 index 03b5a2b..ceeb714 100644 --- a/nateman/templates/klausuren/edit.html.j2 +++ b/nateman/templates/klausuren/edit.html.j2 @@ -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 %}

    - {{ zeitraum(klausur) }} Stunde; + {{ macros.zeitraum(klausur) }} Stunde; {{ Klausurteilnahme.query.filter_by(klausur_id=klausur.id).count() }} Schüler

    diff --git a/nateman/templates/klausuren/mine.html.j2 b/nateman/templates/klausuren/mine.html.j2 index 6db4cdc..2ffbb7c 100644 --- a/nateman/templates/klausuren/mine.html.j2 +++ b/nateman/templates/klausuren/mine.html.j2 @@ -45,10 +45,10 @@ {% for kv in klausuren_vergangen %} - {{ kv.date_formatted() }} + {{ macros.date(kv.date) }} {{ kv.stufe.name }} {{ kv.kursname }} - {{ zeitraum(kv) }} Std. + {{ macros.zeitraum(kv) }} Std. {% if kv.edited %} ja {% else %} @@ -78,10 +78,10 @@ {% for ka in klausuren_anstehend %} - {{ ka.date_formatted() }} + {{ macros.date(ka.date) }} {{ ka.stufe.name }} {{ ka.kursname }} - {{ zeitraum(ka) }} Std. + {{ macros.zeitraum(ka) }} Std. {% endfor %} diff --git a/nateman/templates/klausuren/stufe.html.j2 b/nateman/templates/klausuren/stufe.html.j2 index 1a2e67e..ec14a4c 100644 --- a/nateman/templates/klausuren/stufe.html.j2 +++ b/nateman/templates/klausuren/stufe.html.j2 @@ -56,7 +56,7 @@ {% else %} {% for dates_list in (dates_anstehend, dates_vergangen) %} {% if loop.index0 == 1 %} -
    heute ({{ util.format_date(datetime.now()) }})
    +
    heute ({{ macros.date(datetime.now()) }})
    {% endif %} {% for date in dates_list %} @@ -65,7 +65,7 @@

    - {{ util.format_date(date) }}: + {{ macros.date(date) }}:

    @@ -88,7 +88,7 @@ data-href="{{ url_for('klausuren.edit', klausur_id=k.id) }}" {% endif %}> {{ k.lehrer.kuerzel }} {{ k.kursname }} - {{ zeitraum(k) }} Std. + {{ macros.zeitraum(k) }} Std. {% if lehrer_can_access %} {% if k.edited %} ja diff --git a/nateman/templates/macros.j2 b/nateman/templates/macros.j2 new file mode 100644 index 0000000..571784a --- /dev/null +++ b/nateman/templates/macros.j2 @@ -0,0 +1,12 @@ +{% macro date(date) -%} + +{%- endmacro %} + +{% macro zeitraum(klausur) -%} + {{- klausur.startperiod }}. + {%- if klausur.startperiod != klausur.endperiod -%} + –{{ klausur.endperiod }}. + {%- endif %} +{%- endmacro %} \ No newline at end of file diff --git a/nateman/templates/schueler/versaeumnisse.html.j2 b/nateman/templates/schueler/versaeumnisse.html.j2 index 4df2b6f..c24b336 100644 --- a/nateman/templates/schueler/versaeumnisse.html.j2 +++ b/nateman/templates/schueler/versaeumnisse.html.j2 @@ -64,7 +64,7 @@ ({% if kt.schueler.stammschule is not none %}{{ kt.schueler.stammschule.name }}, {% endif %}{{ kt.schueler.id }}) - {{ kt.klausur.date_formatted() }} + {{ macros.date(kt.klausur.date) }} {{ kt.klausur.kursname }} {{ kt.klausur.lehrer.kuerzel }} {{ kt.klausur.laenge }} diff --git a/nateman/util.py b/nateman/util.py index 3d6a35a..4448258 100644 --- a/nateman/util.py +++ b/nateman/util.py @@ -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