Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions arbeitsplan/migrations/0027_alter_leistung_wann.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 4.2.19 on 2026-01-10 12:34

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('arbeitsplan', '0026_meldung_unique_aufgabe_melder_and_more'),
]

operations = [
migrations.AlterField(
model_name='leistung',
name='wann',
field=models.DateField(help_text='An welchem Tag hast du die Leistung erbracht?'),
),
]
2 changes: 1 addition & 1 deletion arbeitsplan/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -539,7 +539,7 @@ class Status(models.TextChoices):
erstellt = models.DateTimeField(auto_now_add=True)
veraendert = models.DateTimeField(auto_now=True)
wann = models.DateField(
help_text="An welchem Tag haben Sie die Leistung erbracht?",
help_text="An welchem Tag hast du die Leistung erbracht?",
)
zeit = models.DecimalField(
max_digits=3,
Expand Down
2 changes: 1 addition & 1 deletion arbeitsplan/templates/arbeitsplan_createLeistung.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

{% block content %}

Wir freuen uns, dass Sie durch eine Arbeitsleistung zum Vereinsleben beigetragen haben. Bitte geben Sie hier eine Beschreibung ein, damit Ihnen die Stunden gutgeschrieben werden können.
Wir freuen uns, dass du durch eine Arbeitsleistung zum Vereinsleben beigetragen hast. Bitte gib hier eine Beschreibung ein, damit dir die Stunden gutgeschrieben werden können.
<p>

{{ form.errors }}
Expand Down
6 changes: 3 additions & 3 deletions arbeitsplan/templates/arbeitsplan_listLeistung.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

{% block prefilter %}

<h3>Zusammenfassung Ihrer Leistungen </h3>
<h3>Zusammenfassung deiner Leistungen </h3>

<ul>

Expand All @@ -23,9 +23,9 @@ <h3>Zusammenfassung Ihrer Leistungen </h3>
<p>

{% if leistungSummary.2.3 >= leistungSummary.0.3 %}
Damit haben Sie Ihr Arbeitssoll für dieses Jahr erfüllt!
Damit hast du dein Arbeitssoll für dieses Jahr erfüllt!
{% else %}
Noch haben Sie Ihr Arbeitssoll nicht erfüllt.
Noch hast du dein Arbeitssoll nicht erfüllt.
{% endif %}

</ul>
Expand Down
10 changes: 5 additions & 5 deletions arbeitsplan/templates/arbeitsplan_listzuteilungen.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@

{% block prefilter %}

<h3>Zusammenfassung Ihrer Zuteilungen </h3>
<h3>Zusammenfassung deiner Zuteilungen </h3>

Sie sind bisher für insgesamt {{ zuteilungSummary }} Stunden eingeteilt.
Du bist bisher für insgesamt {{ zuteilungSummary }} Stunden eingeteilt.
<p>
{% if zuteilungSummary < arbeitslast %}
<div class="alert alert-warning">
Damit können Sie noch nicht die vorgesehenen {{ arbeitslast }} Stunden Arbeitsleistung pro Jahr erbringen. Sie sollten
den Vorstand kontaktieren und sich um weitere Zuteilungen bemühen.
Damit kannst du noch nicht die vorgesehenen {{ arbeitslast }} Stunden Arbeitsleistung pro Jahr erbringen.
Du solltest den Vorstand kontaktieren und dich um weitere Zuteilungen bemühen.
</div>
{% else %}
Wenn Sie alle diese Arbeitsdienste entsprechend erbringen, können Sie damit Ihr vorgesehenes Pensum pro Jahr erfüllen. Bitte kontrollieren Sie aber auch, ob Ihre tatsächlich gemeldeten Arbeitszeiten richtig verbucht werden.
Wenn du alle diese Arbeitsdienste entsprechend erbringst, kannst du damit dein vorgesehenes Pensum pro Jahr erfüllen. Bitte kontrolliere aber auch, ob deine tatsächlich gemeldeten Arbeitszeiten richtig verbucht werden.
{% endif %}


Expand Down
2 changes: 1 addition & 1 deletion arbeitsplan/templates/home.html
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ <h2> Vorstandsfunktionen </h2>
{% endfor %}

{% else %}
<a href="login/?next=/home/"> Bitte loggen Sie sich ein!</a>
<a href="login/?next=/home/"> Bitte logge dich ein!</a>
{% endif %}

{% endblock %}
4 changes: 2 additions & 2 deletions arbeitsplan/templates/inactive_reset.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@

{% block content %}

Hiermit können Sie für alle inaktiven Mitglieder (=haben sich noch nicht angemeldet) neue
Hiermit kannst du für alle inaktiven Mitglieder (=haben sich noch nicht angemeldet) neue
Passwörter erzeugen und ein PDF mit einem Anschreiben an diese Mitglieder erzeugen.
<p>
Bitte nutzen Sie diese Funktion mit Vorsicht da wiederholt neue Passwort-Mitteilungen für Verwirrung sorgen können.
Bitte nutze diese Funktion mit Vorsicht da wiederholt neue Passwort-Mitteilungen für Verwirrung sorgen können.

<p>

Expand Down
8 changes: 4 additions & 4 deletions arbeitsplan/templates/keinVorstand.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ <h1>Kein Vorstandsmitglied?</h1>

{% block content %}


Manche Funktionen sind Vorstandmitgliedern vorbehalten.
Sie scheinen kein Vorstand zu sein - das tut uns leid!
<p>
Wir schlagen vor, dass Sie zur <a href="/home"> Homepage </a> zurückgehen.
Manche Funktionen sind Vorstandsmitgliedern vorbehalten.
Du scheinst keine Vorstands-Rechte zu besitzen.
<p>
Bitte gehe zurück zur <a href="/home"> Homepage </a>.

{% endblock %}

37 changes: 22 additions & 15 deletions arbeitsplan/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,8 @@ def get_object(self, queryset=None):
from django.http import Http404
# TODO: nicer error message
messages.error(self.request,
"Sie dürfen diese Aufgabe nicht löschen! Nur der verantworliche Vorstand darf das!")
"Du darfst diese Aufgabe nicht löschen! Nur der "
"verantwortliche Vorstand darf das!")
raise Http404
return obj

Expand Down Expand Up @@ -410,12 +411,12 @@ class ListAufgabenView (FilteredListView):
Die Tabelle zeigt die anstehenden Aufgaben an.
<ul>
<li> Aufgaben ohne Datum sind an flexiblen Terminen zu erledigen. </li>
<li> Bei Aufgaben mit Datum erfolgt die Zeitabsprachen individuell oder nach Einteilung. </li>
<li> Bei Aufgaben mit Datum erfolgt die Zeitabsprache individuell oder nach Einteilung. </li>
<li> Die Spalte Verantwortlicher benennt den Koordinator der Aufgabe. </li>
<li> Die Spalte Quickmeldung erlaubt eine vereinfachte Meldung für eine Aufgabe. Klicken Sie auf das Handsymbol; ein Haken in der Zeile markiert Aufgaben, für die Sie sich gemeldet haben.</li>
<li> Die Spalte Quickmeldung erlaubt eine vereinfachte Meldung für eine Aufgabe. Klicke dazu auf das Handsymbol. Ein Haken in der Zeile markiert Aufgaben, für die du dich gemeldet hast.</li>
</ul>
<p>
Sie können die angezeigten Aufgaben nach Aufgabengruppe filtern (--- entfernt den Filter). Zusätzlich können Sie nach dem Datum der Aufgabe filtern (Aufgaben mit Datum in der Vergangenheit werden aber grundsätzlich nicht angezeigt). Wählen Sie die Filter aus und klicken auf "Filter anwenden".
Du kannst die angezeigten Aufgaben nach Aufgabengruppe filtern (--- entfernt den Filter). Zusätzlich kannst du nach dem Datum der Aufgabe filtern (Aufgaben mit Datum in der Vergangenheit werden aber grundsätzlich nicht angezeigt). Wähle die Filter aus und klicke auf "Filter anwenden".
"""
## todo_text = """
## <li> Spalten klickbar machen: Aufgabe, Verantowrtlicher (direkt email senden?) </li>
Expand Down Expand Up @@ -692,8 +693,11 @@ class MeldungenListeView (FilteredListView):
# TODO: understand how to use reverse / reverse_lazy here
# This is odd, why does reverse_lazy only return the object?

intro_text = format_html(("Ein Übersicht über alle von Ihnen eingegeben Meldungen. "
'Editieren Sie bitte über die Funktion <a href="/arbeitsplan/meldung/">Melden</a> im Menü Meldung.'))
intro_text = format_html(
"Eine Übersicht über alle von dir abgegebenen Meldungen. "
"Benutze zum Editieren bitte die Funktion "
'<a href="/arbeitsplan/meldung/">Melden</a> im Menü Meldung.'
)

def get_data(self):
qs = (models.Meldung.objects.
Expand Down Expand Up @@ -901,13 +905,17 @@ def get(self, request, aufgabeid, *args, **kwargs):
meldung.bemerkung = "QUICKMELDUNG"
meldung.save()

messages.success(self.request,
"Danke! Sie haben sich für Aufgabe " +
aufgabe.aufgabe + " gemeldet. Der Vorstand wird dies prüfen und ggf. einen Termin zusagen.")
messages.success(
self.request,
f"Danke! Du hast dich für die Aufgabe {aufgabe.aufgabe} gemeldet. "
"Der Vorstand wird dies prüfen und ggf. eine Zuteilung erstellen."
)
notifyVorstand(meldung, ["QUICKMELDUNG"])
else:
messages.warning(self.request,
"Ihre Schnellmeldung wurde nicht eingetragen; vermutlich existiert bereits eine Meldung von Ihnen.")
messages.warning(
self.request,
"Deine Schnellmeldung wurde nicht eingetragen; vermutlich existiert"
" bereits eine Meldung von dir.")

except models.Aufgabe.DoesNotExist:
messages.error(self.request,
Expand Down Expand Up @@ -941,7 +949,7 @@ def get_queryset(self):
self.intro_text = """
Welche Zuteilung sind für Nutzer eingetragen?
<p>
Filtern Sie nach Mitgliedernamen oder Aufgabengruppe.
Du kannst nach Mitgliedernamen oder Aufgabengruppe filtern.
"""
else:
qs = models.Zuteilung.objects.filter(ausfuehrer=self.request.user)
Expand Down Expand Up @@ -1368,16 +1376,15 @@ def annotate_data(self, qs):

class StundenplaeneEdit(isVorstandMixin, FilteredListView):

title = """Weisen Sie einer Aufgabe Personen
zu den benötigten Zeitpunkten zu"""
title = "Weise einer Aufgabe Personen zu den benötigten Zeitpunkten zu"
tableClassFactory = staticmethod(StundenplanEditFactory)
tabletitle_template = "Zuweisung für Stunden eintragen"
tabletitle = "Zuweisung für Stunden eintragen"
tableform = {'name': "eintragen",
'value': "Stundenzuteilung eintragen/ändern"}

intro_text = """Hinweis: Wenn hier keine Nutzer angezeigt werden,
müssen Sie zunächst Nutzer dieser Aufgabe zuteilen. Das Zuweisen zu
musst du zunächst Nutzer dieser Aufgabe zuteilen. Das Zuweisen zu
einzelnen Stunden ist erst der zweite Schritt.

In der Tabelle werden Spalten pro Uhrzeit angezeigt.<br>
Expand Down
4 changes: 2 additions & 2 deletions boote/templates/boote/booking_my_bookings.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@
<td style='text-align:left;'><a href="/boote/boot/{{ boat.pk }}/"> <i class="fa-solid fa-sailboat"></i> {{ boat.name }} ({{ boat.type.name }})</a></td>
<td>{{ weekday }}, {{ date }}</td>
<td>von {{ time_from }} bis {{ time_to }}</td>
<td><a href="/boote/booking_remove/{{ reservationid }}" class="btn btn-primary" onclick='return window.confirm("Möchtest Du deine Reservierung für {{ boat.name }} ({{ weekday }}, {{ date }}, von {{ time_from }} bis {{ time_to }}) stornieren?");'>Stornieren</a></td>
<td><a href="/boote/booking_remove/{{ reservationid }}" class="btn btn-primary" onclick='return window.confirm("Möchtest du deine Reservierung für {{ boat.name }} ({{ weekday }}, {{ date }}, von {{ time_from }} bis {{ time_to }}) stornieren?");'>Stornieren</a></td>
</tr>
{% endfor %}
</table>
{% else %}
Du hast aktuell keine Reservierungen. <br> <a href="/boote/booking/overview/">Such Dir Boot und Termin aus.</a>
Du hast aktuell keine Reservierungen. <br> <a href="/boote/booking/overview/">Such dir Boot und Termin aus.</a>
{% endif %}


Expand Down
6 changes: 3 additions & 3 deletions boote/templates/boote/booking_priority_boot.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ <h3>Ausbildung</h3>
<td><span class="tinyfont">{{ b.user.first_name }} {{ b.user.last_name }}</span></td>
<td>
{% if b.user == user %}
<a href="/boote/booking_remove/{{ b.id }}" class="btn btn-primary" onclick='return window.confirm("Möchtest Du deine Reservierung für {{ b.boat.name }} {{ b.date }}, von {{ b.time_from }} bis {{ b.time_to }}) stornieren?");'>Ja, stornieren</a>
<a href="/boote/booking_remove/{{ b.id }}" class="btn btn-primary" onclick='return window.confirm("Möchtest du deine Reservierung für {{ b.boat.name }} {{ b.date }}, von {{ b.time_from }} bis {{ b.time_to }}) stornieren?");'>Ja, stornieren</a>
{% endif %}
</td>
</tr>
Expand Down Expand Up @@ -99,7 +99,7 @@ <h3>Regatta</h3>
<td><span class="tinyfont">{{ b.user.first_name }} {{ b.user.last_name }}</span></td>
<td>
{% if b.user == user %}
<a href="/boote/booking_remove/{{ b.id }}" class="btn btn-primary" onclick='return window.confirm("Möchtest Du deine Reservierung für {{ b.boat.name }} {{ b.date }}, von {{ b.time_from }} bis {{ b.time_to }}) stornieren?");'> Ja, stornieren</a>
<a href="/boote/booking_remove/{{ b.id }}" class="btn btn-primary" onclick='return window.confirm("Möchtest du deine Reservierung für {{ b.boat.name }} {{ b.date }}, von {{ b.time_from }} bis {{ b.time_to }}) stornieren?");'> Ja, stornieren</a>
{% endif %}
</td>
</tr>
Expand Down Expand Up @@ -132,7 +132,7 @@ <h3>Reparatur</h3>
<td><span class="tinyfont">{{ b.user.first_name }} {{ b.user.last_name }}</span></td>
<td>
{% if b.user == user %}
<a href="/boote/booking_remove/{{ b.id }}" class="btn btn-primary" onclick='return window.confirm("Möchtest Du deine Reservierung für {{ b.boat.name }} {{ b.date }}, von {{ b.time_from }} bis {{ b.time_to }}) stornieren?");'> Ja, stornieren</a>
<a href="/boote/booking_remove/{{ b.id }}" class="btn btn-primary" onclick='return window.confirm("Möchtest du deine Reservierung für {{ b.boat.name }} {{ b.date }}, von {{ b.time_from }} bis {{ b.time_to }}) stornieren?");'> Ja, stornieren</a>
{% endif %}
</td>
</tr>
Expand Down
2 changes: 1 addition & 1 deletion boote/templates/boote/boot_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@

{% if boot.club_boat %}
<p>
Hast Du kleinere Probleme am Boot entdeckt, melde diese bitte hier über <em>Meldungen</em>. Der Bootspate wird sich darum kümmern.</br>
Hast du kleinere Probleme am Boot entdeckt, melde diese bitte hier über <em>Meldungen</em>. Der Bootspate wird sich darum kümmern.</br>
{% if numIssues %}
<span style='color: red'><i class="fa-solid fa-gear"></i> Offene Meldungen: {{ numIssues }}</span></br>
{% endif %}
Expand Down
2 changes: 1 addition & 1 deletion boote/templates/booteHome.html
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
</div>
{% else %}

<a href="login/?next=/home/">Bitte loggen Sie sich ein!</a>
<a href="login/?next=/home/">Bitte logge dich ein!</a>
{% endif %}

{% endblock %}
2 changes: 1 addition & 1 deletion mitglieder/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def clean(self):
u = User.objects.get(username=mnr)
raise ValidationError(
f"Ein Nutzer mit dieser Mitgliedsnummer existiert bereits!\
({u.first_name} {u.last_name}) Bitte wählen Sie eine andere Nummer.",
({u.first_name} {u.last_name}) Bitte wähle eine andere Nummer.",
code="invalid",
)
except User.DoesNotExist:
Expand Down
6 changes: 3 additions & 3 deletions mitglieder/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -541,12 +541,12 @@ class ImpersonateListe(isVorstandMixin, FilteredListView):
]

intro_text = """
Sie können die Identität eines anderen Nutzers annehmen,
Du kannst die Identität eines anderen Nutzers annehmen,
beispielsweise um Meldungen oder Leistungen für diesen einzutragen.
<p>
Bitte gehen Sie verantwortlich mit dieser Möglichkeit um!
Bitte gehe verantwortlich mit dieser Möglichkeit um!
<p>
Beachten Sie: Diese Funktion funktioniert nicht bei Mitgliedern
Beachte: Diese Funktion funktioniert nicht bei Mitgliedern
mit Sonderstatus (z.B. Adminstratoren dieser Webseite).
"""

Expand Down
2 changes: 1 addition & 1 deletion templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ <h1> {% block branding %}
<div class="alert alert-warning">
<b> ACHTUNG! </b>
{{ request.impersonator.first_name }} {{ request.impersonator.last_name }},
Sie arbeiten jetzt als dieses Mitglied:
Du arbeitest jetzt als dieses Mitglied:
{{ request.user.first_name }} {{ request.user.last_name }}
<b> ACHTUNG! </b>
</div>
Expand Down
Loading