From 31b31a3eb34becb5fa0576ba85c6a307574f0f70 Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Fri, 27 Dec 2024 18:30:04 +0100 Subject: [PATCH 01/10] members/waitinglist: allow editing of invite text --- .../jdav_web/settings/components/texts.py | 6 +- jdav_web/members/admin.py | 102 ++-- .../members/locale/de/LC_MESSAGES/django.po | 463 ++++++++++-------- jdav_web/members/models.py | 48 +- .../templates/admin/invite_for_group.html | 14 +- .../admin/invite_for_group_text.html | 68 +++ 6 files changed, 427 insertions(+), 274 deletions(-) create mode 100644 jdav_web/members/templates/admin/invite_for_group_text.html diff --git a/jdav_web/jdav_web/settings/components/texts.py b/jdav_web/jdav_web/settings/components/texts.py index d1e5eaf..b13914c 100644 --- a/jdav_web/jdav_web/settings/components/texts.py +++ b/jdav_web/jdav_web/settings/components/texts.py @@ -26,7 +26,7 @@ GROUP_TIME_AVAILABLE_TEXT = """Die Gruppenstunde findet jeden {weekday} von {sta GROUP_TIME_UNAVAILABLE_TEXT = """Bitte erfrage die Gruppenzeiten bei der Gruppenleitung ({contact_email}).""" -INVITE_TEXT = """Hallo {name}, +INVITE_TEXT = """Hallo {{name}}, wir haben gute Neuigkeiten für dich. Es ist ein Platz in der Jugendgruppe {group_name} {group_link}freigeworden. {group_time} @@ -38,7 +38,7 @@ Informationen und deine Anmeldebestätigung von dir. Die lädst du herunter (siehe %(REGISTRATION_FORM_DOWNLOAD_LINK)s ), lässt sie von deinen Eltern ausfüllen, unterschreiben und lädst ein Foto davon in unserem Anmeldeformular hoch. Das kannst du alles über folgenden Link erledigen: -{link} +{{link}} Du siehst dort auch die Daten, die du bei deiner Eintragung auf die Warteliste angegeben hast. Bitte überprüfe, ob die Daten noch stimmen und ändere sie bei Bedarf ab. @@ -46,7 +46,7 @@ Du siehst dort auch die Daten, die du bei deiner Eintragung auf die Warteliste a Falls du zu dem obigen Termin keine Zeit hast oder dich ganz von der Warteliste abmelden möchtest, lehne bitte diese Einladung unter folgendem Link ab: -{invitation_reject_link} +{{invitation_reject_link}} Bei Fragen, wende dich gerne an %(RESPONSIBLE_MAIL)s. diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index cc4c184..cc0b56a 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -561,6 +561,12 @@ class WaiterInviteForm(forms.Form): label=_('Group')) +class WaiterInviteTextForm(forms.Form): + _selected_action = forms.CharField(widget=forms.MultipleHiddenInput) + text_template = forms.CharField(label=_('Invitation text'), + widget=forms.Textarea(attrs={'rows': 30, 'cols': 100})) + + class InvitationToGroupAdmin(admin.TabularInline): model = InvitationToGroup fields = ['group', 'date', 'status'] @@ -594,7 +600,7 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): 'confirmed_mail', 'waiting_confirmed', 'sent_reminders') search_fields = ('prename', 'lastname', 'email') list_filter = ['confirmed_mail', 'gender', InvitedToGroupFilter] - actions = ['ask_for_registration', 'ask_for_wait_confirmation'] + actions = ['ask_for_registration_action', 'ask_for_wait_confirmation'] inlines = [InvitationToGroupAdmin] readonly_fields= ['application_date', 'sent_reminders'] @@ -609,38 +615,6 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): _("Successfully asked %(name)s to confirm their waiting status.") % {'name': waiter.name}) ask_for_wait_confirmation.short_description = _('Ask selected waiters to confirm their waiting status') - def ask_for_registration(self, request, queryset): - """Asks the waiting person to register with all required data.""" - if "apply" in request.POST: - try: - group = Group.objects.get(pk=request.POST['group']) - except Group.DoesNotExist: - messages.error(request, - _("An error occurred while trying to invite said members. Please try again.")) - return HttpResponseRedirect(request.get_full_path()) - if not group.contact_email: - messages.error(request, - _('The selected group does not have a contact email. Please first set a contact email and then try again.')) - return HttpResponseRedirect(request.get_full_path()) - - for waiter in queryset: - waiter.invited_for_group = group - waiter.save() - waiter.invite_to_group(group) - messages.success(request, - _("Successfully invited %(name)s to %(group)s.") % {'name': waiter.name, 'group': waiter.invited_for_group.name}) - - return HttpResponseRedirect(request.get_full_path()) - context = dict(self.admin_site.each_context(request), - title=_('Select group for invitation'), - opts=self.opts, - waiters=queryset.all(), - form=WaiterInviteForm(initial={'_selected_action': queryset.values_list('id', flat=True)})) - return render(request, - 'admin/invite_selected_for_group.html', - context=context) - ask_for_registration.short_description = _('Offer waiter a place in a group.') - def response_change(self, request, waiter): ret = super(MemberWaitingListAdmin, self).response_change(request, waiter) if "_invite" in request.POST: @@ -672,8 +646,19 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): queryset = super().get_queryset(request) return queryset.prefetch_related('invitationtogroup_set') + def ask_for_registration_action(self, request, queryset): + return self.invite_view(request, queryset) + ask_for_registration_action.short_description = _('Offer waiter a place in a group.') + def invite_view(self, request, object_id): - waiter = MemberWaitingList.objects.get(pk=object_id) + if type(object_id) == str: + waiter = MemberWaitingList.objects.get(pk=object_id) + queryset = [waiter] + id_list = [waiter.pk] + else: + waiter = None + queryset = object_id + id_list = queryset.values_list('id', flat=True) if "apply" in request.POST: try: @@ -687,22 +672,49 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): messages.error(request, _('The selected group does not have a contact email. Please first set a contact email and then try again.')) return HttpResponseRedirect(request.get_full_path()) + context = dict(self.admin_site.each_context(request), + title=_('Select group for invitation'), + opts=self.opts, + group=group, + queryset=queryset, + form=WaiterInviteTextForm(initial={ + '_selected_action': id_list, + 'text_template': group.get_invitation_text_template() + })) + if waiter: + context = dict(context, object=waiter, waiter=waiter) + return render(request, + 'admin/invite_for_group_text.html', + context=context) + + if "send" in request.POST: + try: + group = Group.objects.get(pk=request.POST['group']) + text_template = request.POST['text_template'] + except (Group.DoesNotExist, KeyError): + messages.error(request, + _("An error occurred while trying to invite said members. Please try again.")) + return HttpResponseRedirect(request.get_full_path()) + for w in queryset: + w.invite_to_group(group, text_template=text_template) + messages.success(request, + _("Successfully invited %(name)s to %(group)s.") % {'name': w.name, 'group': w.invited_for_group.name}) - waiter.invited_for_group = group - waiter.save() - waiter.invite_to_group(group) - messages.success(request, - _("Successfully invited %(name)s to %(group)s.") % {'name': waiter.name, 'group': waiter.invited_for_group.name}) - - return HttpResponseRedirect(reverse('admin:%s_%s_change' % (waiter._meta.app_label, waiter._meta.model_name), - args=(object_id,))) + if waiter: + return HttpResponseRedirect(reverse('admin:%s_%s_change' % (self.opts.app_label, self.opts.model_name), + args=(object_id,))) + else: + return HttpResponseRedirect(reverse('admin:%s_%s_changelist' % (self.opts.app_label, self.opts.model_name))) context = dict(self.admin_site.each_context(request), title=_('Select group for invitation'), opts=self.opts, - object=waiter, - waiter=waiter, - form=WaiterInviteForm(initial={'_selected_action': [waiter.pk]})) + queryset=queryset, + form=WaiterInviteForm(initial={ + '_selected_action': id_list + })) + if waiter: + context = dict(context, object=waiter, waiter=waiter) return render(request, 'admin/invite_for_group.html', context=context) diff --git a/jdav_web/members/locale/de/LC_MESSAGES/django.po b/jdav_web/members/locale/de/LC_MESSAGES/django.po index cfd1dbb..129fad9 100644 --- a/jdav_web/members/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/members/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-19 01:21+0100\n" +"POT-Creation-Date: 2024-12-27 18:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: members/admin.py:127 members/models.py:412 +#: members/admin.py:127 members/models.py:430 msgid "Registration complete" msgstr "Anmeldung vollständig" @@ -34,174 +34,182 @@ msgstr "Nein" msgid "All" msgstr "Alle" -#: members/admin.py:185 members/admin.py:415 +#: members/admin.py:185 members/admin.py:414 msgid "Contact information" msgstr "Kontaktinformationen" -#: members/admin.py:190 members/admin.py:420 +#: members/admin.py:190 members/admin.py:419 msgid "Skills" msgstr "Fähigkeiten" -#: members/admin.py:195 members/admin.py:425 +#: members/admin.py:195 members/admin.py:424 msgid "Others" msgstr "Sonstiges" -#: members/admin.py:201 members/admin.py:430 +#: members/admin.py:201 members/admin.py:429 msgid "Organizational" msgstr "Organisatorisches" -#: members/admin.py:283 +#: members/admin.py:282 msgid "Compose new mail to selected members" msgstr "Neue Nachricht an ausgewählte Teilnehmer*innen verfassen" -#: members/admin.py:289 +#: members/admin.py:288 msgid "Echo required" msgstr "Rückmeldung erforderlich" -#: members/admin.py:291 +#: members/admin.py:290 msgid "Successfully requested echo from selected members." msgstr "" "Rückmeldungsaufforderung erfolgreich an ausgewählte Teilnehmer*innen " "verschickt." -#: members/admin.py:292 +#: members/admin.py:291 msgid "Request echo from selected members" msgstr "Rückmeldungsaufforderung an ausgewählte Teilnehmer*innen verschicken" -#: members/admin.py:301 +#: members/admin.py:300 #, python-format msgid "%(name)s does not have a DAV360 email address or is already registered." msgstr "%(name)s hat keine DAV360 E-Mail Adresse oder ist bereits registriert." -#: members/admin.py:303 +#: members/admin.py:302 #, python-format msgid "Successfully invited %(name)s as user." msgstr "Erfolgreich %(name)s aufgefordert Zugangsdaten zu wählen." -#: members/admin.py:305 +#: members/admin.py:304 msgid "Successfully invited selected members to join as users." msgstr "" "Erfolgreich ausgewählte Teilnehmer*innen aufgefordert Zugangsdaten zu wählen." -#: members/admin.py:307 +#: members/admin.py:306 msgid "Some members have been invited, others could not be invited." msgstr "" "Manche Teilnehmer*innen wurden eingeladen, andere konnten nicht eingeladen " "werden." -#: members/admin.py:314 members/admin.py:331 +#: members/admin.py:313 members/admin.py:330 msgid "Permission denied." msgstr "Fehlende Berechtigungen." -#: members/admin.py:321 members/admin.py:355 +#: members/admin.py:320 members/admin.py:354 #: members/templates/admin/invite_as_user.html:21 msgid "Invite as user" msgstr "Kompass Zugangsdaten wählen lassen" -#: members/admin.py:326 +#: members/admin.py:325 msgid "Invite selected members to join Kompass as users." msgstr "Ausgewählte Teilnehmer*innen Kompass Zugangsdaten wählen lassen." -#: members/admin.py:337 +#: members/admin.py:336 msgid "Member not found." msgstr "Teilnehmer*in nicht gefunden." -#: members/admin.py:341 +#: members/admin.py:340 #, python-format msgid "%(name)s already has login data." msgstr "%(name)s hat schon Zugangsdaten." -#: members/admin.py:346 +#: members/admin.py:345 #, python-format msgid "The configured email address for %(name)s is not an internal one." msgstr "Die für %(name)s eingestellte E-Mail Adresse ist keine DAV360 Adresse." -#: members/admin.py:360 +#: members/admin.py:359 #, python-format msgid "%(name)s already has a pending invitation as user." msgstr "" "%(name)s hat bereits eine ausstehende Aufforderung Zugangsdaten zu wählen." -#: members/admin.py:378 +#: members/admin.py:377 msgid "activity" msgstr "Aktivität" -#: members/admin.py:388 members/models.py:56 members/models.py:1572 +#: members/admin.py:387 members/models.py:56 members/models.py:1584 msgid "Name" msgstr "Name" -#: members/admin.py:479 +#: members/admin.py:478 msgid "Successfully requested mail confirmation from selected registrations." msgstr "Aufforderung zur Bestätigung der Email Adresse versendet." -#: members/admin.py:480 +#: members/admin.py:479 msgid "Request mail confirmation from selected registrations" msgstr "Aufforderung zur Bestätigung der Email Adresse versenden" -#: members/admin.py:487 members/admin.py:552 +#: members/admin.py:486 members/admin.py:551 #, python-format msgid "Successfully confirmed %(name)s." msgstr "Registrierung von %(name)s erfolgreich bestätigt." -#: members/admin.py:491 members/admin.py:555 +#: members/admin.py:490 members/admin.py:554 #, python-format msgid "Can't confirm. %(name)s has unconfirmed email addresses." msgstr "Bestätigung nicht möglich. %(name)s hat unbestätigte Emailadressen." -#: members/admin.py:496 +#: members/admin.py:495 msgid "Successfully confirmed multiple registrations." msgstr "Erfolgreich mehrere Registrierungen bestätigt." -#: members/admin.py:498 +#: members/admin.py:497 msgid "" "Failed to confirm some registrations because of unconfirmed email addresses." msgstr "" "Einige Bestätigungen fehlgeschlagen, weil Emailadressen noch nicht bestätigt " "sind." -#: members/admin.py:499 +#: members/admin.py:498 msgid "Confirm selected registrations" msgstr "Ausgewählte Registrierungen bestätigen" -#: members/admin.py:522 +#: members/admin.py:521 msgid "Demote selected registrations to waiters." msgstr "Ausgewählte Registrierungen zurück auf die Warteliste setzen." -#: members/admin.py:538 +#: members/admin.py:537 msgid "Demote member to waiter" msgstr "Ausgewählte Registrierung zurück auf die Warteliste setzen." -#: members/admin.py:547 +#: members/admin.py:546 #, python-format msgid "Successfully demoted %(name)s to waiter." msgstr "%(name)s zurück auf die Warteliste gesetzt." -#: members/admin.py:562 members/models.py:419 members/models.py:822 -#: members/models.py:1317 +#: members/admin.py:561 members/models.py:437 members/models.py:840 +#: members/models.py:1329 msgid "Group" msgstr "Gruppe" -#: members/admin.py:577 +#: members/admin.py:566 +msgid "Invitation text" +msgstr "Einladungstext" + +#: members/admin.py:582 msgid "Pending group invitation for group" msgstr "Ausstehende Gruppeneinladung für Gruppe" -#: members/admin.py:610 +#: members/admin.py:615 #, python-format msgid "Successfully asked %(name)s to confirm their waiting status." msgstr "Erfolgreich %(name)s aufgefordert den Wartelistenplatz zu bestätigen." -#: members/admin.py:611 +#: members/admin.py:616 msgid "Ask selected waiters to confirm their waiting status" msgstr "Wartende auffordern den Wartelistenplatz zu bestätigen" -#: members/admin.py:620 members/admin.py:684 +#: members/admin.py:651 members/admin.py:681 +msgid "Offer waiter a place in a group." +msgstr "Personen auf der Warteliste einen Gruppenplatz anbieten." + +#: members/admin.py:660 members/admin.py:698 members/admin.py:726 msgid "" "An error occurred while trying to invite said members. Please try again." msgstr "" "Beim Einladen dieser Personen ist ein Fehler aufgetreten. Bitte versuche es " "nochmal. " -#: members/admin.py:624 members/admin.py:689 +#: members/admin.py:664 members/admin.py:703 msgid "" "The selected group does not have a contact email. Please first set a contact " "email and then try again." @@ -209,43 +217,39 @@ msgstr "" "Die ausgewählte Gruppe hat keine Kontakt E-Mail Adresse. Bitte stelle eine " "Kontakt E-Mail Adresse ein und versuche es erneut." -#: members/admin.py:632 members/admin.py:696 +#: members/admin.py:670 members/admin.py:731 #, python-format msgid "Successfully invited %(name)s to %(group)s." msgstr "Erfolgreich %(name)s zu Gruppe %(group)s eingeladen." -#: members/admin.py:636 members/admin.py:702 +#: members/admin.py:674 members/admin.py:706 members/admin.py:740 msgid "Select group for invitation" msgstr "Wähle Gruppe für Einladung aus" -#: members/admin.py:643 -msgid "Offer waiter a place in a group." -msgstr "Personen auf der Warteliste einen Gruppenplatz anbieten." - -#: members/admin.py:719 members/models.py:72 +#: members/admin.py:760 members/models.py:72 msgid "name" msgstr "Name" -#: members/admin.py:720 +#: members/admin.py:761 msgid "" "The group name may only consist of letters, numerals, _, -, :, * and spaces." msgstr "" "Der Gruppenname darf nur aus Buchstaben, Zahlen, _, -, :, * oder Leerzeichen " "bestehen." -#: members/admin.py:749 +#: members/admin.py:790 msgid "Difficulty" msgstr "Schwierigkeit" -#: members/admin.py:752 +#: members/admin.py:793 msgid "Tour type" msgstr "Art der Tour" -#: members/admin.py:755 members/models.py:1048 +#: members/admin.py:796 members/models.py:1060 msgid "Means of transportation" msgstr "Verkehrsmittel" -#: members/admin.py:781 +#: members/admin.py:823 msgid "" "Please list here all expenses in relation with this excursion and upload " "relevant bills. These have to be permanently stored for the application of " @@ -258,7 +262,7 @@ msgstr "" "einzelnen Posten wird dabei auf der LJP-Kostenübersicht angezeigt (sinnvoll " "wären z.B. Anreise, Verpflegung, Material etc.)." -#: members/admin.py:799 +#: members/admin.py:841 msgid "" "Here you can work on a seminar report for applying for financial " "contributions from Landesjugendplan (LJP). More information on creating a " @@ -271,7 +275,7 @@ msgstr "" "wahlweise nur TN-Liste und Kostenübersicht kannst du anschließend " "herunterladen." -#: members/admin.py:807 +#: members/admin.py:849 msgid "" "Please list all participants (also youth leaders) of this excursion. Here " "you can still make changes just before departure and hence generate the " @@ -282,34 +286,34 @@ msgstr "" "jederzeit die aktuelle Teilnehmer*innenliste für die Krisenintervention " "generieren." -#: members/admin.py:853 +#: members/admin.py:895 #, python-format msgid "You are not allowed to view all members on note list %(name)s." msgstr "" "Du hast nicht die nötigen Rechte um alle Teilnehmer*innen der Notizliste " "%(name)s anzusehen." -#: members/admin.py:863 +#: members/admin.py:905 msgid "Generate PDF summary" msgstr "Übersicht erstellen" -#: members/admin.py:867 +#: members/admin.py:909 msgid "Full report" msgstr "Vollständiger Seminarbericht" -#: members/admin.py:868 +#: members/admin.py:910 msgid "Costs and participants only" msgstr "Nur Kosten und Teilnehmende" -#: members/admin.py:869 +#: members/admin.py:911 msgid "Mode" msgstr "Modus" -#: members/admin.py:870 +#: members/admin.py:912 msgid "Prepend V32" msgstr "V32 Formblatt einfügen" -#: members/admin.py:886 +#: members/admin.py:928 msgid "" "General information on your excursion. These are partly relevant for the " "amount of financial compensation (means of transport, travel distance, etc.)." @@ -318,48 +322,48 @@ msgstr "" "teilweise relevant für die Zuschüsse aus dem Jugendetat (Verkehrsmittel, " "Fahrstrecke in km)." -#: members/admin.py:916 +#: members/admin.py:958 #, python-format msgid "You are not allowed to view all members on excursion %(name)s." msgstr "" "Du hast nicht die nötigen Rechte um alle Teilnehmer*innen der Ausfahrt " "%(name)s anzusehen." -#: members/admin.py:924 +#: members/admin.py:966 msgid "Generate crisis intervention list" msgstr "Kriseninterventionsliste erstellen" -#: members/admin.py:932 +#: members/admin.py:974 msgid "Generate overview" msgstr "Hinweise für Jugendleiter erstellen" -#: members/admin.py:936 members/admin.py:968 +#: members/admin.py:978 members/admin.py:1010 #: members/templates/admin/generate_seminar_report.html:21 msgid "Generate seminar report" msgstr "Landesjugendplan Antrag erstellen" -#: members/admin.py:949 +#: members/admin.py:991 msgid "Please select a mode." msgstr "Bitte wähle einen Modus aus." -#: members/admin.py:954 +#: members/admin.py:996 msgid "" "Full mode is only available, if the seminar report section is filled out." msgstr "" "Der vollständiger Modus ist nur verfügbar, wenn der Seminarbericht " "ausgefüllt ist. " -#: members/admin.py:980 +#: members/admin.py:1022 msgid "Generate SJR application" msgstr "SJR Antrag erstellen" -#: members/admin.py:984 +#: members/admin.py:1026 msgid "No statement found. Please add a statement and then retry." msgstr "" "Keine Abrechnung angelegt. Bitte lege eine Abrechnung and und versuche es " "erneut." -#: members/admin.py:988 +#: members/admin.py:1030 msgid "" "Successfully submited statement. The finance department will notify you as " "soon as possible." @@ -367,7 +371,7 @@ msgstr "" "Abrechnung erfolgreich eingericht. Die Finanzabteilung wird sich bei dir so " "schnell wie möglich melden." -#: members/admin.py:991 +#: members/admin.py:1033 #: members/templates/admin/freizeit_finance_overview.html:21 msgid "Finance overview" msgstr "Kostenübersicht" @@ -404,11 +408,11 @@ msgstr "Samstag" msgid "Sunday" msgstr "Sonntag" -#: members/models.py:57 members/models.py:1034 +#: members/models.py:57 members/models.py:1046 msgid "Description" msgstr "Beschreibung" -#: members/models.py:63 members/models.py:1026 +#: members/models.py:63 members/models.py:1038 #: members/templates/members/change_member.html:18 msgid "Activity" msgstr "Aktivität" @@ -441,7 +445,7 @@ msgstr "Jugendleiter" msgid "week day" msgstr "Wochentag" -#: members/models.py:80 members/models.py:1399 +#: members/models.py:80 members/models.py:1411 msgid "Starting time" msgstr "Zeitpunkt" @@ -453,7 +457,7 @@ msgstr "Endzeitpunkt" msgid "Contact email" msgstr "Kontakt Email" -#: members/models.py:93 members/models.py:276 +#: members/models.py:93 members/models.py:294 msgid "group" msgstr "Gruppe" @@ -461,159 +465,159 @@ msgstr "Gruppe" msgid "groups" msgstr "Gruppen" -#: members/models.py:110 +#: members/models.py:128 msgid "prename" msgstr "Vorname" -#: members/models.py:111 +#: members/models.py:129 msgid "last name" msgstr "Nachname" -#: members/models.py:114 +#: members/models.py:132 msgid "Email confirmed" msgstr "Emailadresse bestätigt" -#: members/models.py:132 members/models.py:203 members/models.py:250 +#: members/models.py:150 members/models.py:221 members/models.py:268 msgid "phone number" msgstr "Telefonnummer (mobil)" -#: members/models.py:163 +#: members/models.py:181 msgid "Email confirmation needed" msgstr "Email Bestätigung erforderlich" -#: members/models.py:213 +#: members/models.py:231 msgid "birth date" msgstr "Geburtsdatum" -#: members/models.py:218 +#: members/models.py:236 msgid "Gender" msgstr "Gender" -#: members/models.py:219 +#: members/models.py:237 msgid "comments" msgstr "Kommentare" -#: members/models.py:247 +#: members/models.py:265 msgid "Alternative email confirmed" msgstr "Alternative E-Mail Adresse bestätigt" -#: members/models.py:251 +#: members/models.py:269 msgid "street and house number" msgstr "Straße und Hausnummer" -#: members/models.py:252 +#: members/models.py:270 msgid "Postcode" msgstr "PLZ" -#: members/models.py:254 +#: members/models.py:272 msgid "town" msgstr "Stadt" -#: members/models.py:255 +#: members/models.py:273 msgid "Address extra" msgstr "Adress-Zusatz" -#: members/models.py:256 +#: members/models.py:274 msgid "Country" msgstr "Land" -#: members/models.py:258 +#: members/models.py:276 msgid "Good conduct certificate presented on" msgstr "Führungszeugnis vorgelegt am" -#: members/models.py:259 +#: members/models.py:277 msgid "Joined on" msgstr "Eintritt" -#: members/models.py:260 +#: members/models.py:278 msgid "Left on" msgstr "Austritt" -#: members/models.py:261 +#: members/models.py:279 msgid "Has key" msgstr "Hat Jugendraumschlüssel" -#: members/models.py:262 +#: members/models.py:280 msgid "Has a free ticket for the climbing gym" msgstr "Hat Freikarte für Kletterhalle" -#: members/models.py:263 +#: members/models.py:281 msgid "DAV badge number" msgstr "DAV Mitgliedsnummer" -#: members/models.py:264 +#: members/models.py:282 msgid "Knows how to swim" msgstr "Kann schwimmen" -#: members/models.py:265 +#: members/models.py:283 msgid "Climbing badge" msgstr "Kletterschein" -#: members/models.py:266 +#: members/models.py:284 msgid "Alpine experience" msgstr "Alpine Erfahrung" -#: members/models.py:267 +#: members/models.py:285 msgid "Allergies" msgstr "Allergieen" -#: members/models.py:268 +#: members/models.py:286 msgid "Medication" msgstr "Medikamente" -#: members/models.py:269 +#: members/models.py:287 msgid "Tetanus vaccination" msgstr "Tetanusimpfung" -#: members/models.py:270 +#: members/models.py:288 msgid "Photos may be taken" msgstr "Fotoerlaubnis" -#: members/models.py:271 +#: members/models.py:289 msgid "Legal guardians" msgstr "Erziehungsberechtigte" -#: members/models.py:273 +#: members/models.py:291 msgid "May cancel a group appointment independently" msgstr "Darf sich allein von der Gruppenstunde abmelden" -#: members/models.py:280 +#: members/models.py:298 msgid "receives newsletter" msgstr "Erhält den Newsletter" -#: members/models.py:284 +#: members/models.py:302 msgid "created" msgstr "erstellt" -#: members/models.py:285 +#: members/models.py:303 msgid "Active" msgstr "Aktiv" -#: members/models.py:286 +#: members/models.py:304 msgid "registration form" msgstr "Anmeldeformular" -#: members/models.py:295 +#: members/models.py:313 msgid "image" msgstr "Bild" -#: members/models.py:304 +#: members/models.py:322 msgid "Echoed" msgstr "Rückgemeldet" -#: members/models.py:305 +#: members/models.py:323 msgid "Confirmed" msgstr "Bestätigt" -#: members/models.py:307 +#: members/models.py:325 msgid "Login data" msgstr "Zugangsdaten" -#: members/models.py:309 +#: members/models.py:327 msgid "waitinglist application date" msgstr "Wartelistenbewerbungsdatum" -#: members/models.py:311 +#: members/models.py:329 msgid "" "If the person registered from the waitinglist, this is their application " "date." @@ -621,351 +625,351 @@ msgstr "" "Falls sich die Person über die Warteliste angemeldet hat ist dies ihr " "Bewerbungsdatum." -#: members/models.py:340 +#: members/models.py:358 msgid "Good conduct certificate valid" msgstr "Führungszeugnis gültig" -#: members/models.py:422 +#: members/models.py:440 msgid "member" msgstr "Teilnehmer*in" -#: members/models.py:423 +#: members/models.py:441 msgid "members" msgstr "Teilnehmer*innen" -#: members/models.py:501 +#: members/models.py:519 msgid "Upload registration form" msgstr "Anmeldeformular hochladen" -#: members/models.py:512 +#: members/models.py:530 #, python-format msgid "New unconfirmed registration for group %(group)s" msgstr "Neue unbestätigte Registrierung für Gruppe %(group)s" -#: members/models.py:738 +#: members/models.py:756 msgid "Set login data for Kompass" msgstr "Zugangsdaten für Kompass wählen" -#: members/models.py:773 members/models.py:982 members/models.py:993 -#: members/models.py:1348 members/models.py:1355 +#: members/models.py:791 members/models.py:994 members/models.py:1005 +#: members/models.py:1360 members/models.py:1367 msgid "Member" msgstr "Teilnehmer*in" -#: members/models.py:780 +#: members/models.py:798 msgid "Emergency contact" msgstr "Notfallkontakt" -#: members/models.py:781 +#: members/models.py:799 msgid "Emergency contacts" msgstr "Notfallkontakte" -#: members/models.py:801 +#: members/models.py:819 msgid "Unconfirmed registration" msgstr "Unbestätigte Registrierung" -#: members/models.py:802 +#: members/models.py:820 msgid "Unconfirmed registrations" msgstr "Unbestätigte Registrierungen" -#: members/models.py:821 members/models.py:866 +#: members/models.py:839 members/models.py:884 msgid "Waiter" msgstr "Wartende Person" -#: members/models.py:823 +#: members/models.py:841 msgid "Invitation date" msgstr "Einladungsdatum" -#: members/models.py:824 members/templates/members/reject_success.html:6 +#: members/models.py:842 members/templates/members/reject_success.html:6 #: members/templates/members/reject_success.html:11 msgid "Invitation rejected" msgstr "Einladung abgelehnt" -#: members/models.py:828 +#: members/models.py:846 msgid "Invitation to group" msgstr "Gruppeneinladung" -#: members/models.py:829 +#: members/models.py:847 msgid "Invitations to groups" msgstr "Gruppeneinladungen" -#: members/models.py:836 +#: members/models.py:854 msgid "Rejected" msgstr "Abgelehnt" -#: members/models.py:838 +#: members/models.py:856 msgid "Expired" msgstr "Abgelaufen" -#: members/models.py:840 +#: members/models.py:858 msgid "Undecided" msgstr "Ausstehend" -#: members/models.py:841 +#: members/models.py:859 msgid "Status" msgstr "Status" -#: members/models.py:852 +#: members/models.py:870 msgid "Do you want to tell us something else?" msgstr "Möchtest du uns noch etwas mitteilen?" -#: members/models.py:853 +#: members/models.py:871 msgid "application date" msgstr "Bewerbungsdatum" -#: members/models.py:855 +#: members/models.py:873 msgid "Last wait confirmation" msgstr "Letzte Wartebestätigung" -#: members/models.py:859 +#: members/models.py:877 msgid "Last reminder" msgstr "Letzte Erinnerung" -#: members/models.py:860 +#: members/models.py:878 msgid "Missed reminders" msgstr "Verpasste Erinnerungen" -#: members/models.py:867 +#: members/models.py:885 msgid "Waiters" msgstr "Warteliste" -#: members/models.py:882 +#: members/models.py:900 msgid "Latest group invitation" msgstr "Letzte Gruppeneinladung" -#: members/models.py:899 +#: members/models.py:917 msgid "Waiting status confirmed" msgstr "Wartelistenplatz bestätigt" -#: members/models.py:906 +#: members/models.py:924 msgid "Waiting confirmation needed" msgstr "Wartelistenplatzbestätigung erforderlich" -#: members/models.py:961 +#: members/models.py:977 msgid "Invitation to trial group meeting" msgstr "Einladung zu Schnupperstunde" -#: members/models.py:973 +#: members/models.py:985 msgid "Unregistered from waiting list" msgstr "Von der Warteliste abgemeldet" -#: members/models.py:987 +#: members/models.py:999 msgid "Comment" msgstr "Kommentar" -#: members/models.py:994 members/models.py:1356 +#: members/models.py:1006 members/models.py:1368 msgid "Members" msgstr "Teilnehmer*innen" -#: members/models.py:1028 +#: members/models.py:1040 msgid "Place" msgstr "Stützpunkt / Ort" -#: members/models.py:1029 +#: members/models.py:1041 msgid "Destination (optional)" msgstr "ggf. Ziel" -#: members/models.py:1031 +#: members/models.py:1043 msgid "e.g. a peak" msgstr "z.B. ein Gipfel" -#: members/models.py:1032 +#: members/models.py:1044 msgid "Begin" msgstr "Anfang" -#: members/models.py:1033 +#: members/models.py:1045 msgid "End (optional)" msgstr "Ende" -#: members/models.py:1036 +#: members/models.py:1048 msgid "Groups" msgstr "Gruppen" -#: members/models.py:1049 +#: members/models.py:1061 msgid "Kilometers traveled" msgstr "Fahrstrecke in Kilometer" -#: members/models.py:1052 +#: members/models.py:1064 msgid "Categories" msgstr "Kategorien" -#: members/models.py:1053 +#: members/models.py:1065 msgid "easy" msgstr "leicht" -#: members/models.py:1053 +#: members/models.py:1065 msgid "medium" msgstr "mittel" -#: members/models.py:1053 +#: members/models.py:1065 msgid "hard" msgstr "schwer" -#: members/models.py:1063 members/models.py:1379 +#: members/models.py:1075 members/models.py:1391 #: members/templates/admin/freizeit_finance_overview.html:26 msgid "Excursion" msgstr "Ausfahrt" -#: members/models.py:1064 +#: members/models.py:1076 msgid "Excursions" msgstr "Ausfahrten" -#: members/models.py:1294 members/models.py:1370 members/models.py:1586 +#: members/models.py:1306 members/models.py:1382 members/models.py:1598 msgid "Title" msgstr "Titel" -#: members/models.py:1295 members/models.py:1313 members/models.py:1587 +#: members/models.py:1307 members/models.py:1325 members/models.py:1599 msgid "Date" msgstr "Datum" -#: members/models.py:1314 +#: members/models.py:1326 msgid "Location" msgstr "Ort" -#: members/models.py:1315 +#: members/models.py:1327 msgid "Topic" msgstr "Thema" -#: members/models.py:1339 +#: members/models.py:1351 msgid "Jugendleiter" msgstr "Jugendleiter" -#: members/models.py:1342 +#: members/models.py:1354 msgid "Klettertreff" msgstr "Klettertreff" -#: members/models.py:1343 +#: members/models.py:1355 msgid "Klettertreffs" msgstr "Klettertreffs" -#: members/models.py:1361 +#: members/models.py:1373 msgid "Password" msgstr "Passwort" -#: members/models.py:1364 +#: members/models.py:1376 msgid "registration password" msgstr "Registrierungspassort" -#: members/models.py:1365 +#: members/models.py:1377 msgid "registration passwords" msgstr "Registrierungspasswörter" -#: members/models.py:1372 +#: members/models.py:1384 msgid "Alpinistic goals" msgstr "Alpintechnische Ziele" -#: members/models.py:1373 +#: members/models.py:1385 msgid "Pedagogic goals" msgstr "Pädagogische Ziele" -#: members/models.py:1374 +#: members/models.py:1386 msgid "Content and methods" msgstr "Inhalte und Methoden" -#: members/models.py:1375 +#: members/models.py:1387 msgid "Evaluation" msgstr "Wertung" -#: members/models.py:1376 +#: members/models.py:1388 msgid "Experiences and possible improvements" msgstr "Erfahrungen und Verbesserungsvorschläge" -#: members/models.py:1385 members/models.py:1406 +#: members/models.py:1397 members/models.py:1418 msgid "LJP Proposal" msgstr "Seminarbericht" -#: members/models.py:1386 +#: members/models.py:1398 msgid "LJP Proposals" msgstr "Seminarberichte" -#: members/models.py:1400 +#: members/models.py:1412 msgid "Duration in hours" msgstr "Dauer in Stunden" -#: members/models.py:1403 +#: members/models.py:1415 msgid "Activity and method" msgstr "Art der Aktion inkl. Methode" -#: members/models.py:1411 +#: members/models.py:1423 msgid "Intervention" msgstr "Aktion" -#: members/models.py:1412 +#: members/models.py:1424 msgid "Interventions" msgstr "Aktionen" -#: members/models.py:1514 members/models.py:1544 +#: members/models.py:1526 members/models.py:1556 msgid "May list members" msgstr "Darf folgende Teilnehmer*innen listen" -#: members/models.py:1516 members/models.py:1546 +#: members/models.py:1528 members/models.py:1558 msgid "May view members" msgstr "Darf folgende Teilnehmer*innen anzeigen" -#: members/models.py:1518 members/models.py:1548 +#: members/models.py:1530 members/models.py:1560 msgid "May change members" msgstr "Darf folgende Teilnehmer*innen ändern" -#: members/models.py:1520 members/models.py:1550 +#: members/models.py:1532 members/models.py:1562 msgid "May delete members" msgstr "Darf folgende Teilnehmer*innen löschen" -#: members/models.py:1524 members/models.py:1554 +#: members/models.py:1536 members/models.py:1566 msgid "May list members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen listen" -#: members/models.py:1526 members/models.py:1556 +#: members/models.py:1538 members/models.py:1568 msgid "May view members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen anzeigen" -#: members/models.py:1528 members/models.py:1558 +#: members/models.py:1540 members/models.py:1570 msgid "May change members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen ändern" -#: members/models.py:1530 members/models.py:1560 +#: members/models.py:1542 members/models.py:1572 msgid "May delete members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen löschen" -#: members/models.py:1533 members/models.py:1534 members/models.py:1537 +#: members/models.py:1545 members/models.py:1546 members/models.py:1549 msgid "Permissions" msgstr "Berechtigungen" -#: members/models.py:1563 members/models.py:1564 members/models.py:1567 +#: members/models.py:1575 members/models.py:1576 members/models.py:1579 msgid "Group permissions" msgstr "Gruppenberechtigungen" -#: members/models.py:1573 +#: members/models.py:1585 msgid "Permission needed" msgstr "Freigabe erforderlich" -#: members/models.py:1576 +#: members/models.py:1588 msgid "Training category" msgstr "Fortbildungstyp" -#: members/models.py:1577 +#: members/models.py:1589 msgid "Training categories" msgstr "Fortbildungstypen" -#: members/models.py:1588 +#: members/models.py:1600 msgid "Category" msgstr "Kategorien" -#: members/models.py:1589 +#: members/models.py:1601 msgid "Comments" msgstr "Kommentar" -#: members/models.py:1590 +#: members/models.py:1602 msgid "Participated" msgstr "Teilgenommmen" -#: members/models.py:1591 +#: members/models.py:1603 msgid "Passed" msgstr "Bestanden" -#: members/models.py:1594 +#: members/models.py:1606 msgid "Training" msgstr "Fortbildung" -#: members/models.py:1595 +#: members/models.py:1607 msgid "Trainings" msgstr "Fortbildungen" @@ -974,6 +978,7 @@ msgstr "Fortbildungen" #: members/templates/admin/generate_seminar_report.html:17 #: members/templates/admin/invite_as_user.html:17 #: members/templates/admin/invite_for_group.html:17 +#: members/templates/admin/invite_for_group_text.html:17 #: members/templates/admin/invite_selected_as_user.html:17 #: members/templates/admin/invite_selected_for_group.html:17 msgid "Home" @@ -997,7 +1002,7 @@ msgstr "Zurück auf die Warteliste setzen" #: members/templates/admin/freizeit_finance_overview.html:154 #: members/templates/admin/generate_seminar_report.html:60 #: members/templates/admin/invite_as_user.html:37 -#: members/templates/admin/invite_for_group.html:52 +#: members/templates/admin/invite_for_group.html:64 #: members/templates/admin/invite_selected_as_user.html:49 #: members/templates/admin/invite_selected_for_group.html:53 msgid "Cancel" @@ -1180,6 +1185,7 @@ msgstr "" "schnellstmöglich auf dich zurück." #: members/templates/admin/freizeit_finance_overview.html:163 +#: members/templates/admin/invite_for_group_text.html:63 msgid "Back" msgstr "Zurück" @@ -1250,30 +1256,73 @@ msgstr "" "der aktiven Registrierungspasswörter, Benutzername und Passwort zu setzen." #: members/templates/admin/invite_as_user.html:36 -#: members/templates/admin/invite_for_group.html:51 +#: members/templates/admin/invite_for_group.html:63 #: members/templates/admin/invite_selected_as_user.html:48 #: members/templates/admin/invite_selected_for_group.html:52 msgid "Invite" msgstr "Einladen" -#: members/templates/admin/invite_for_group.html:21 +#: members/templates/admin/invite_for_group.html:23 +#: members/templates/admin/invite_for_group_text.html:23 msgid "Invite to group" msgstr "Zu Gruppe einladen" -#: members/templates/admin/invite_for_group.html:26 +#: members/templates/admin/invite_for_group.html:28 +#: members/templates/admin/invite_for_group_text.html:28 #: members/templates/admin/invite_selected_for_group.html:25 msgid "Invite to a group" msgstr "Zu einer Gruppe einladen" -#: members/templates/admin/invite_for_group.html:28 +#: members/templates/admin/invite_for_group.html:31 msgid "You are inviting:" msgstr "Du lädst die folgende Person ein:" -#: members/templates/admin/invite_for_group.html:39 +#: members/templates/admin/invite_for_group.html:33 +msgid "You are inviting the following waiters for registration:" +msgstr "Du lädst die folgenden Wartenden zur Schnupperstunde ein:" + +#: members/templates/admin/invite_for_group.html:48 #, python-format msgid "Please choose the group that you want to invite %(waiter)s to." msgstr "Bitte wähle die Gruppe aus zu der du %(waiter)s einladen möchtest." +#: members/templates/admin/invite_for_group.html:50 +msgid "To which group do you want to invite these waiters?" +msgstr "Zu welcher Gruppe möchtest du diese Wartenden einladen?" + +#: members/templates/admin/invite_for_group_text.html:31 +#, python-format +msgid "" +"You are inviting the following waiter for registration in group %(group)s." +msgstr "" +"Du lädst den*die folgende Wartende*n zu einer Schnupperstunde in der Gruppe " +"%(group)s ein:" + +#: members/templates/admin/invite_for_group_text.html:33 +#, python-format +msgid "" +"You are inviting the following waiters for registration in group %(group)s." +msgstr "" +"Du lädst die folgenden Wartenden zu einer Schnupperstunde in der Gruppe " +"%(group)s ein:" + +#: members/templates/admin/invite_for_group_text.html:47 +#, python-brace-format +msgid "" +"The following text will be sent as an invitation email. The patterns\n" +"{name}, {link} and {invitation_reject_link} will be automatically replaced " +"by personalized\n" +"data upon sending. Please adapt if needed and confirm." +msgstr "" +"Der folgende Text wird in der Einladungsmail verschickt. Die Platzhalter " +"{name}, {link} und {invitation_reject_link} werden beim Senden automatisch " +"durch personalisierte Daten ersetzt. Bitte passe den Text falls nötig an " +"und schicke die Einladung anschließend ab." + +#: members/templates/admin/invite_for_group_text.html:62 +msgid "Send" +msgstr "Senden" + #: members/templates/admin/invite_selected_as_user.html:20 msgid "Invite multiple members as users" msgstr "Mehrere Teilnehmer*innen Zugangsdaten wählen lassen" diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index 4de99ee..0ff3631 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -97,6 +97,24 @@ class Group(models.Model): # return if the group has all relevant time slot information filled return self.weekday and self.start_time and self.end_time + def get_invitation_text_template(self): + """The text template used to invite waiters to this group. This contains + placeholders for the name of the waiter and personalized links.""" + if self.show_website: + group_link = '({url}) '.format(url=prepend_base_url(reverse('startpage:gruppe_detail', args=[self.name]))) + else: + group_link = '' + if self.has_time_info(): + group_time = settings.GROUP_TIME_AVAILABLE_TEXT.format(weekday=WEEKDAYS[self.weekday][1], + start_time=self.start_time.strftime('%H:%M'), + end_time=self.end_time.strftime('%H:%M')) + else: + group_time = settings.GROUP_TIME_UNAVAILABLE_TEXT.format(contact_email=self.contact_email) + return settings.INVITE_TEXT.format(group_time=group_time, + group_name=self.name, + group_link=group_link, + contact_email=self.contact_email) + class MemberManager(models.Manager): def get_queryset(self): @@ -945,27 +963,21 @@ class MemberWaitingList(Person): except InvitationToGroup.DoesNotExist: return False - def invite_to_group(self, group): - if group.show_website: - group_link = '({url}) '.format(url=prepend_base_url(reverse('startpage:gruppe_detail', args=[group.name]))) - else: - group_link = '' - if group.has_time_info(): - group_time = settings.GROUP_TIME_AVAILABLE_TEXT.format(weekday=WEEKDAYS[group.weekday][1], - start_time=group.start_time.strftime('%H:%M'), - end_time=group.end_time.strftime('%H:%M')) - else: - group_time = settings.GROUP_TIME_UNAVAILABLE_TEXT.format(contact_email=group.contact_email) + def invite_to_group(self, group, text_template=None): + """ + Invite waiter to given group. Stores a new group invitation + and sends a personalized e-mail based on the passed template. + """ + self.invited_for_group = group + self.save() + if not text_template: + text_template = group.get_invitation_text_template() invitation = InvitationToGroup(group=group, waiter=self) invitation.save() self.send_mail(_("Invitation to trial group meeting"), - settings.INVITE_TEXT.format(name=self.prename, - group_time=group_time, - group_name=group.name, - group_link=group_link, - contact_email=group.contact_email, - link=get_registration_link(invitation.key), - invitation_reject_link=get_invitation_reject_link(invitation.key)), + text_template.format(name=self.prename, + link=get_registration_link(invitation.key), + invitation_reject_link=get_invitation_reject_link(invitation.key)), cc=group.contact_email.email) def unregister(self): diff --git a/jdav_web/members/templates/admin/invite_for_group.html b/jdav_web/members/templates/admin/invite_for_group.html index dfde466..87410ff 100644 --- a/jdav_web/members/templates/admin/invite_for_group.html +++ b/jdav_web/members/templates/admin/invite_for_group.html @@ -17,7 +17,9 @@ {% translate 'Home' %}{{ opts.app_config.verbose_name }}{{ opts.verbose_name_plural|capfirst }} +{% if object %} › {{ object|truncatewords:"18" }} +{% endif %} › {% translate 'Invite to group' %} {% endblock %} @@ -25,18 +27,28 @@ {% block content %}

{% translate "Invite to a group" %}

+{% if waiter %} {% trans "You are inviting:" %} +{% else %} +{% trans "You are inviting the following waiters for registration:" %} +{% endif %}

    + {% for waiter in queryset %}
  • {{ waiter }}
  • + {% endfor %}

+{% if waiter %} {% blocktrans %}Please choose the group that you want to invite {{ waiter }} to.{% endblocktrans %} +{% else %} +{% blocktrans %}To which group do you want to invite these waiters?{% endblocktrans %} +{% endif %}

@@ -47,7 +59,7 @@

- + {% translate "Cancel" %}

diff --git a/jdav_web/members/templates/admin/invite_for_group_text.html b/jdav_web/members/templates/admin/invite_for_group_text.html new file mode 100644 index 0000000..fd71733 --- /dev/null +++ b/jdav_web/members/templates/admin/invite_for_group_text.html @@ -0,0 +1,68 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static %} + +{% block extrahead %} + {{ block.super }} + {{ media }} + + + +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} invite-waiter +{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +

{% translate "Invite to a group" %}

+

+{% if waiter %} +{% blocktrans %}You are inviting the following waiter for registration in group {{ group }}.{% endblocktrans %} +{% else %} +{% blocktrans %}You are inviting the following waiters for registration in group {{ group }}.{% endblocktrans %} +{% endif %} +

+

+

    + {% for waiter in queryset %} +
  • + {{ waiter }} +
  • + {% endfor %} +
+

+ +

+{% blocktrans %}The following text will be sent as an invitation email. The patterns +{name}, {link} and {invitation_reject_link} will be automatically replaced by personalized +data upon sending. Please adapt if needed and confirm.{% endblocktrans %} +

+ + + {% csrf_token %} +

+ {{form}} +

+
+
+

+ + + + {% translate "Back" %} +

+
+ + +{% endblock %} From 7af3ec488e4a76ae10a56438a32663b4be5b2cea Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Fri, 27 Dec 2024 18:31:39 +0100 Subject: [PATCH 02/10] members/waitinglist: remove registration form link from invite text The link is no longer needed, since a prefilled registration form can now be downloaded after filling out the online form. --- jdav_web/jdav_web/settings/components/texts.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/jdav_web/jdav_web/settings/components/texts.py b/jdav_web/jdav_web/settings/components/texts.py index b13914c..9bf4021 100644 --- a/jdav_web/jdav_web/settings/components/texts.py +++ b/jdav_web/jdav_web/settings/components/texts.py @@ -34,9 +34,7 @@ wir haben gute Neuigkeiten für dich. Es ist ein Platz in der Jugendgruppe {grou Bitte kontaktiere die Gruppenleitung ({contact_email}) für alle weiteren Absprachen. Wenn du nach der Schnupperstunde beschließt der Gruppe beizutreten, benötigen wir noch ein paar -Informationen und deine Anmeldebestätigung von dir. Die lädst du herunter -(siehe %(REGISTRATION_FORM_DOWNLOAD_LINK)s ), lässt sie von deinen Eltern ausfüllen, unterschreiben -und lädst ein Foto davon in unserem Anmeldeformular hoch. Das kannst du alles über folgenden Link erledigen: +Informationen und eine schriftliche Anmeldebestätigung von dir. Das kannst du alles über folgenden Link erledigen: {{link}} From 36424f091dfc53b4fc46de5dfb14ce2744a2d3e7 Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Fri, 27 Dec 2024 20:59:12 +0100 Subject: [PATCH 03/10] chore: update README Include information about development setup. Co-authored by: Kasimir Uihlein --- README.md | 112 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 94 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 35e9d7d..24d267a 100644 --- a/README.md +++ b/README.md @@ -2,29 +2,105 @@ [![Build Status](https://jenkins.merten.dev/buildStatus/icon?job=gitea%2Fkompass%2Fmain)](https://jenkins.merten.dev/job/gitea/job/kompass/job/main/) -This repository has the purpose to develop a webapplication that can be used by -JDAV to send newsletters, manage user lists and keep material lists up to date. -As this repository is also meant to be a base for exchange during development, feel free -to contribute ideas in form of edits to this README, issues, landmarks, projects, wiki entries, ... +Kompass is an administration platform designed for local sections of the Young German Alpine Club. It provides +tools to contact and (automatically) manage members, groups, material, excursions and statements. -# Docker +For more details on the features, see the (German) [documentation](https://jdav-hd.de/static/docs/index.html). -In the `docker` subfolder, there are `docker-compose.yaml`s for development and production use. For the development -version, no further setup is needed. +# Contributing -# Production +Any form of contribution is appreciated. If you found a bug or have a feature request, please file an +[issue](https://git.jdav-hd.merten.dev/digitales/kompass/issues). If you want to help with the documentation or +want to contribute code, please open a [pull request](https://git.jdav-hd.merten.dev/digitales/kompass/pulls). -In production, the docker setup needs an external database. The exact access credentials are configured in the respective -docker.env files. +The following is a short description of the development setup and an explanation of the various +branches. -# Useful stuff +## Development setup -## Reset database for certain app +The project is run with `docker` and all related files are in the `docker/` subfolder. Besides the actual Kompass +application, a database (postgresql) and a broker (redis) are setup and run in the docker container. No +external services are needed for running the development container. -The following can be useful in case that automatic migrations throw errors. +### Initial installation -1. delete everything in the migrations folder except for __init__.py. -2. drop into my MySQL console and do: DELETE FROM django_migrations WHERE app='my_app' -3. while at the MySQL console, drop all of the tables associated with my_app. -4. re-run ./manage.py makemigrations my_app - this generates a 0001_initial.py file in my migrations folder. -5. run ./manage migrate my_app - I expect this command to re-build all my tables, but instead it says: "No migrations to apply." +A working `docker` setup (with `docker compose` support) is required. For installation instructions see the +[docker manual](https://docs.docker.com/engine/install/). + +1. Clone the repository and change into the directory of the repository. + +2. Fetch submodules + ```bash + git submodule update --init + ``` + +3. Prepare development environment: to allow automatic rebuilding upon changes in the source, + the owner of the `/app/jdav_web` directory in the docker container must agree with + your user. For this, make sure that the output of `echo UID` and `echo UID` is not empty. Then run + ```bash + export GID=${GID} + export UID=${UID} + ``` + +4. Start docker + ```bash + cd docker/development + docker compose up + ``` + This runs the docker in your current shell, which is useful to see any log output. If you want to run + the development server in the background instead, use `docker compose up -d`. + + During the initial run, the container is built and all dependencies are installed which can take a few minutes. + After successful installation, the Kompass initialization runs, which in particular sets up all tables in the + database. + +5. Setup admin user: in a separate shell, while the docker container is running, run + ```bash + cd docker/development + docker compose exec master bash -c "cd jdav_web && python3 manage.py createsuperuser" + ``` + This creates an admin user for the administration interface. + +### Development + +If the initial installation was successful, you can start developing. Changes to files cause an automatic +reload of the development server. If you need to generate and perform database migrations or generate locale files, +use +``` +cd docker/development +docker compose exec master bash +cd jdav_web +``` +This starts a shell in the container, where you can execute any django maintenance commands via +`python3 manage.py `. For more information, see the [django documentation](https://docs.djangoproject.com/en/4.0/ref/django-admin). + +### Testing + +To run the tests, you can use the docker setup under `docker/test`. + +### Known Issues + +- If the `UID` and `GID` variables are not setup properly, you will encounter the following error message + after running `docker compose up`. + + ```bash + => ERROR [master 6/7] RUN groupadd -g fritze && useradd -g -u -m -d /app fritze 0.2s + ------ + > [master 6/7] RUN groupadd -g fritze && useradd -g -u -m -d /app fritze: + 0.141 groupadd: invalid group ID 'fritze' + ------ + failed to solve: process "/bin/sh -c groupadd -g $GID $USER && useradd -g $GID -u $UID -m -d /app $USER" did not complete successfully: exit code: 3 + ``` + In this case repeat step 3 above. + +## Organization and branches + +The stable development happens on the `main` branch for which only maintainers have write access. Any pull request +should hence be targeted at `main`. Regularly, the production instances are updated to the latest `main` version, +in particular these are considered to be stable. + +If you have standard write access to the repository, feel free to create new branches. To make organization +easier, please indicate your username in the branch name. + +The `testing` branch is deployed on the development instances. No development should happen there, this branch +is regularly reset to the `main` branch. From 19eb0953d5fa91bd22ae7dd8f7ded01412b68396 Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Sun, 29 Dec 2024 00:05:00 +0100 Subject: [PATCH 04/10] tests: fix, generate html coverage report --- docker/test/docker-compose.yaml | 4 +-- docker/test/entrypoint-master.sh | 4 +-- jdav_web/finance/tests.py | 14 ++++----- jdav_web/members/tests.py | 50 ++++++++++++++++++++---------- jdav_web/startpage/tests.py | 53 ++++++++++++++++++++------------ 5 files changed, 78 insertions(+), 47 deletions(-) diff --git a/docker/test/docker-compose.yaml b/docker/test/docker-compose.yaml index 9bc9bae..edbb892 100644 --- a/docker/test/docker-compose.yaml +++ b/docker/test/docker-compose.yaml @@ -14,8 +14,8 @@ services: entrypoint: /app/docker/test/entrypoint-master.sh volumes: - type: bind - source: ./coverage.xml - target: /app/jdav_web/coverage.xml + source: ./htmlcov/ + target: /app/jdav_web/htmlcov/ cache: restart: always diff --git a/docker/test/entrypoint-master.sh b/docker/test/entrypoint-master.sh index 8c70043..2c80809 100755 --- a/docker/test/entrypoint-master.sh +++ b/docker/test/entrypoint-master.sh @@ -38,5 +38,5 @@ fi cd jdav_web -coverage run manage.py test startpage finance members -v 2 -coverage xml +coverage run manage.py test startpage finance members contrib logindata mailer material -v 2 --noinput +coverage html diff --git a/jdav_web/finance/tests.py b/jdav_web/finance/tests.py index 0014d8d..08b531a 100644 --- a/jdav_web/finance/tests.py +++ b/jdav_web/finance/tests.py @@ -3,7 +3,7 @@ from django.utils import timezone from django.conf import settings from .models import Statement, StatementUnSubmitted, StatementSubmitted, Bill, Ledger, Transaction from members.models import Member, Group, Freizeit, GEMEINSCHAFTS_TOUR, MUSKELKRAFT_ANREISE, NewMemberOnList,\ - FAHRGEMEINSCHAFT_ANREISE + FAHRGEMEINSCHAFT_ANREISE, MALE, FEMALE, DIVERSE # Create your tests here. class StatementTestCase(TestCase): @@ -11,11 +11,11 @@ class StatementTestCase(TestCase): kilometers_traveled = 512 participant_count = 10 staff_count = 5 - + def setUp(self): self.jl = Group.objects.create(name="Jugendleiter") self.fritz = Member.objects.create(prename="Fritz", lastname="Wulter", birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=MALE) self.fritz.group.add(self.jl) self.fritz.save() @@ -39,12 +39,12 @@ class StatementTestCase(TestCase): self.st3 = Statement.objects.create(night_cost=self.night_cost, excursion=ex) for i in range(self.participant_count): m = Member.objects.create(prename='Fritz {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=MALE) mol = NewMemberOnList.objects.create(member=m, memberlist=ex) ex.membersonlist.add(mol) for i in range(self.staff_count): m = Member.objects.create(prename='Fritz {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=MALE) Bill.objects.create(statement=self.st3, short_description='food', explanation='i was hungry', amount=42.69, costs_covered=True, paid_by=m) m.group.add(self.jl) @@ -57,7 +57,7 @@ class StatementTestCase(TestCase): self.st4 = Statement.objects.create(night_cost=self.night_cost, excursion=ex) for i in range(2): m = Member.objects.create(prename='Peter {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=DIVERSE) mol = NewMemberOnList.objects.create(member=m, memberlist=ex) ex.membersonlist.add(mol) @@ -66,7 +66,7 @@ class StatementTestCase(TestCase): 'Admissible staff count is not 0, although not enough participants.') for i in range(2): m = Member.objects.create(prename='Peter {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=DIVERSE) mol = NewMemberOnList.objects.create(member=m, memberlist=self.st4.excursion) self.st4.excursion.membersonlist.add(mol) self.assertEqual(self.st4.admissible_staff_count, 2, diff --git a/jdav_web/members/tests.py b/jdav_web/members/tests.py index 673d658..440446f 100644 --- a/jdav_web/members/tests.py +++ b/jdav_web/members/tests.py @@ -6,8 +6,10 @@ from django.test import TestCase, Client, RequestFactory from django.utils import timezone, translation from django.conf import settings from django.urls import reverse +from unittest import skip from .models import Member, Group, PermissionMember, PermissionGroup, Freizeit, GEMEINSCHAFTS_TOUR, MUSKELKRAFT_ANREISE,\ - MemberNoteList, NewMemberOnList, confirm_mail_by_key, EmergencyContact + MemberNoteList, NewMemberOnList, confirm_mail_by_key, EmergencyContact,\ + DIVERSE, MALE, FEMALE from django.db import connection from django.db.migrations.executor import MigrationExecutor @@ -18,7 +20,7 @@ def create_custom_user(username, groups, prename, lastname): user = User.objects.create_user( username=username, password='secret' ) - member = Member.objects.create(prename=prename, lastname=lastname, birth_date=timezone.localdate(), email=settings.TEST_MAIL) + member = Member.objects.create(prename=prename, lastname=lastname, birth_date=timezone.localdate(), email=settings.TEST_MAIL, gender=DIVERSE) member.user = user member.save() user.is_staff = True @@ -37,22 +39,22 @@ class BasicMemberTestCase(TestCase): self.spiel = Group.objects.create(name="Spielkinder") self.fritz = Member.objects.create(prename="Fritz", lastname="Wulter", birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=DIVERSE) self.fritz.group.add(self.jl) self.fritz.group.add(self.alp) self.fritz.save() self.lara = Member.objects.create(prename="Lara", lastname="Wallis", birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=DIVERSE) self.lara.group.add(self.alp) self.lara.save() self.fridolin = Member.objects.create(prename="Fridolin", lastname="Spargel", birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=MALE) self.fridolin.group.add(self.alp) self.fridolin.group.add(self.spiel) self.fridolin.save() self.lise = Member.objects.create(prename="Lise", lastname="Lotte", birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=FEMALE) class MemberTestCase(BasicMemberTestCase): @@ -66,11 +68,11 @@ class MemberTestCase(BasicMemberTestCase): self.ja = Group.objects.create(name="Jugendausschuss") self.peter = Member.objects.create(prename="Peter", lastname="Keks", birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=MALE) self.anna = Member.objects.create(prename="Anna", lastname="Keks", birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=FEMALE) self.lisa = Member.objects.create(prename="Lisa", lastname="Keks", birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=DIVERSE) self.peter.group.add(self.ja) self.anna.group.add(self.ja) self.lisa.group.add(self.ja) @@ -128,7 +130,7 @@ class PDFTestCase(TestCase): for i in range(7): m = Member.objects.create(prename='Lise {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=FEMALE) NewMemberOnList.objects.create(member=m, comments='a' * i, memberlist=self.ex) NewMemberOnList.objects.create(member=m, comments='a' * i, memberlist=self.note) @@ -158,6 +160,13 @@ class PDFTestCase(TestCase): self._test_pdf('notes_list') self._test_pdf('notes_list', username='standard', invalid=True) + def test_sjr_application(self): + self._test_pdf('sjr_application') + self._test_pdf('sjr_application', username='standard', invalid=True) + + # TODO: Since generating a seminar report requires more input now, this test rightly + # fails. Replace this test with one that fills the POST form and generates a pdf. + @skip("Currently rightly fails, because expected behaviour changed.") def test_seminar_report(self): self._test_pdf('seminar_report') self._test_pdf('seminar_report', username='standard', invalid=True) @@ -200,21 +209,21 @@ class AdminTestCase(TestCase): for i in range(3): m = Member.objects.create(prename='Fritz {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=MALE) m.group.add(cool_kids) m.save() for i in range(7): m = Member.objects.create(prename='Lise {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=FEMALE) m.group.add(super_kids) m.save() for i in range(5): m = Member.objects.create(prename='Lulla {}'.format(i), lastname='Hulla', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=DIVERSE) m.group.add(staff) m.save() m = Member.objects.create(prename='Peter', lastname='Hulla', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=MALE) m.group.add(staff) p1.list_members.add(m) @@ -256,7 +265,7 @@ class MemberAdminTestCase(AdminTestCase): for i in range(1): m = Member.objects.create(prename='Peter {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=MALE) m.group.add(mega_kids) m.save() @@ -383,7 +392,7 @@ class FreizeitAdminTestCase(AdminTestCase): for i in range(7): m = Member.objects.create(prename='Lise {}'.format(i), lastname='Walter', birth_date=timezone.now().date(), - email=settings.TEST_MAIL) + email=settings.TEST_MAIL, gender=FEMALE) NewMemberOnList.objects.create(member=m, comments='a' * i, memberlist=ex) def test_changelist(self): @@ -413,11 +422,17 @@ class FreizeitAdminTestCase(AdminTestCase): response = c.get(url) self.assertEqual(response.status_code, 200, 'Response code is not 200.') + @skip("The filtering is currently (intentionally) disabled.") + def test_add_queryset_filter(self): + """Test if queryset on `jugendleiter` field is properly filtered by permissions.""" u = User.objects.get(username='standard') + c = self._login('standard') + + url = reverse('admin:members_freizeit_add') request = self.factory.get(url) request.user = u - #staff = Group.objects.get(name='Jugendleiter') + field = Freizeit._meta.get_field('jugendleiter') queryset = self.admin.formfield_for_manytomany(field, request).queryset self.assertQuerysetEqual(queryset, u.member.filter_queryset_by_permissions(model=Member), @@ -472,6 +487,7 @@ class MailConfirmationTestCase(BasicMemberTestCase): # father's mail should now be confirmed self.assertTrue(self.father.confirmed_mail, msg='After confirming by key, the mail should be confirmed.') + @skip("Currently, emergency contact email addresses are not required to be confirmed.") def test_emergency_contact_confirmation(self): # request mail confirmation of fritz, should also ask for confirmation of father requested_confirmation = self.fritz.request_mail_confirmation() diff --git a/jdav_web/startpage/tests.py b/jdav_web/startpage/tests.py index c012738..8a8ceef 100644 --- a/jdav_web/startpage/tests.py +++ b/jdav_web/startpage/tests.py @@ -1,46 +1,55 @@ from django.test import TestCase, Client from django.urls import reverse +from django.conf import settings from members.models import Group from .models import Post, Section -class ModelsTestCase(TestCase): +class BasicTestCase(TestCase): def setUp(self): orga = Section.objects.create(title='Organisation', urlname='orga', website_text='Section is a about everything.') - Post.objects.create(title='Climbing is fun', urlname='climbing-is-fun', website_text='Climbing is fun!') + recent = Section.objects.create(title='Recent', urlname=settings.RECENT_SECTION, website_text='Recently recent.') + reports = Section.objects.create(title='Reports', urlname=settings.REPORTS_SECTION, website_text='Reporty reports.') + Post.objects.create(title='Climbing is fun', urlname='climbing-is-fun', website_text='Climbing is fun!', + section=recent) + Post.objects.create(title='Last trip', urlname='last-trip', website_text='A fun trip.', + section=reports) Post.objects.create(title='Staff', urlname='staff', website_text='This is our staff: Peter.', section=orga) + Group.objects.create(name='CrazyClimbers', show_website=True) + Group.objects.create(name='SuperClimbers', show_website=False) + +class ModelsTestCase(BasicTestCase): def test_str(self): orga = Section.objects.get(urlname='orga') self.assertEqual(str(orga), orga.title, 'String representation does not match title.') post = Post.objects.get(urlname='staff', section=orga) self.assertEqual(post.absolute_section(), orga.title, 'Displayed section of post does not match section title.') self.assertEqual(str(post), post.title, 'String representation does not match title.') - for post in Post.objects.filter(section=None): - self.assertEqual(post.absolute_section(), 'Aktuelles', 'Displayed section of post does not "Aktuelles".') def test_absolute_urlnames(self): orga = Section.objects.get(urlname='orga') + recent = Section.objects.get(urlname=settings.RECENT_SECTION) + reports = Section.objects.get(urlname=settings.REPORTS_SECTION) self.assertEqual(orga.absolute_urlname(), '/de/orga') post1 = Post.objects.get(urlname='staff', section=orga) self.assertEqual(post1.absolute_urlname(), '/de/orga/staff') - post2 = Post.objects.get(urlname='climbing-is-fun', section=None) - self.assertEqual(post2.absolute_urlname(), '/de/aktuelles/climbing-is-fun') - - -class ViewTestCase(TestCase): - def setUp(self): - orga = Section.objects.create(title='Organisation', urlname='orga', website_text='Section is a about everything.') - Post.objects.create(title='Climbing is fun', urlname='climbing-is-fun', website_text='Climbing is fun!') - Post.objects.create(title='Staff', urlname='staff', website_text='This is our staff: Peter.', - section=orga) - Group.objects.create(name='CrazyClimbers', show_website=True) - Group.objects.create(name='SuperClimbers', show_website=False) - + self.assertEqual(post1.absolute_urlname(), reverse('startpage:post', args=(orga.urlname, 'staff'))) + post2 = Post.objects.get(urlname='climbing-is-fun', section=recent) + self.assertEqual(post2.absolute_urlname(), + '/de/{name}/climbing-is-fun'.format(name=settings.RECENT_SECTION)) + self.assertEqual(post2.absolute_urlname(), reverse('startpage:post', args=(recent.urlname, 'climbing-is-fun'))) + post3 = Post.objects.get(urlname='last-trip', section=reports) + self.assertEqual(post3.absolute_urlname(), + '/de/{name}/last-trip'.format(name=settings.REPORTS_SECTION)) + self.assertEqual(post3.absolute_urlname(), reverse('startpage:post', args=(reports.urlname, 'last-trip'))) + + +class ViewTestCase(BasicTestCase): def test_index(self): c = Client() url = reverse('startpage:index') @@ -49,7 +58,7 @@ class ViewTestCase(TestCase): def test_posts_no_category(self): c = Client() - url = reverse('startpage:post', args=('aktuelles', 'climbing-is-fun')) + url = reverse('startpage:post', args=(settings.RECENT_SECTION, 'climbing-is-fun')) response = c.get(url) self.assertEqual(response.status_code, 200, 'Response code is not 200 for climbing post.') @@ -67,7 +76,13 @@ class ViewTestCase(TestCase): def test_section_recent(self): c = Client() - url = reverse('startpage:aktuelles') + url = reverse('startpage:' + settings.RECENT_SECTION) + response = c.get(url) + self.assertEqual(response.status_code, 200, 'Response code is not 200 for section page.') + + def test_section_reports(self): + c = Client() + url = reverse('startpage:' + settings.REPORTS_SECTION) response = c.get(url) self.assertEqual(response.status_code, 200, 'Response code is not 200 for section page.') From 3b46695b49ca8b3a5cd29ceb6248f259d59834a9 Mon Sep 17 00:00:00 2001 From: "marius.klein" Date: Sun, 29 Dec 2024 22:48:31 +0100 Subject: [PATCH 05/10] finance/admin: validate IBAN and show EPC-QR code for transactions (#94) 1. IBAN validation in member admin. 2. In the transaction overview, for every transaction an EPC-QR code for banking apps is generated and displayed. The (necessary) BIC field is automatically derived from the IBAN. This closes #63. Both steps use the python library schwifty. Reviewed-on: https://git.jdav-hd.merten.dev/digitales/kompass/pulls/94 Reviewed-by: Christian Merten Co-authored-by: marius.klein Co-committed-by: marius.klein --- .../finance/locale/de/LC_MESSAGES/django.po | 149 +++-- jdav_web/finance/models.py | 42 ++ .../templates/admin/confirmed_statement.html | 45 ++ jdav_web/members/admin.py | 20 +- .../members/locale/de/LC_MESSAGES/django.po | 156 ++--- jdav_web/static/js/qrcode.js | 614 ++++++++++++++++++ requirements.txt | 1 + 7 files changed, 884 insertions(+), 143 deletions(-) create mode 100644 jdav_web/static/js/qrcode.js diff --git a/jdav_web/finance/locale/de/LC_MESSAGES/django.po b/jdav_web/finance/locale/de/LC_MESSAGES/django.po index cc5404f..5da218d 100644 --- a/jdav_web/finance/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/finance/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-01 16:23+0100\n" +"POT-Creation-Date: 2024-12-28 01:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,12 +18,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: finance/admin.py:76 +#: finance/admin.py:84 #, python-format msgid "%(name)s is already submitted." msgstr "%(name)s ist bereits eingereicht." -#: finance/admin.py:82 +#: finance/admin.py:90 #, python-format msgid "" "Successfully submited %(name)s. The finance department will notify the " @@ -32,23 +32,23 @@ msgstr "" "Rechnung %(name)s erfolgreich eingereicht. Das Finanzreferat wird auf dich " "sobald wie möglich zukommen." -#: finance/admin.py:85 +#: finance/admin.py:93 msgid "Submit statement" msgstr "Rechnung einreichen" -#: finance/admin.py:162 +#: finance/admin.py:177 #, python-format msgid "%(name)s is not yet submitted." msgstr "%(name)s ist noch nicht eingereicht." -#: finance/admin.py:169 +#: finance/admin.py:184 #, python-format msgid "An error occured while trying to confirm %(name)s. Please try again." msgstr "" "Beim Abwickeln von %(name)s ist ein Fehler aufgetreten. Bitte versuche es " "erneut." -#: finance/admin.py:173 +#: finance/admin.py:188 #, python-format msgid "" "Successfully confirmed %(name)s. I hope you executed the associated " @@ -57,11 +57,11 @@ msgstr "" "Erfolgreich %(name)s abgewickelt. Ich hoffe du hast die zugehörigen " "Überweisungen ausgeführt, ich werde dich nicht nochmal erinnern." -#: finance/admin.py:180 +#: finance/admin.py:195 msgid "Statement confirmed" msgstr "Abrechnung abgewickelt" -#: finance/admin.py:186 +#: finance/admin.py:201 msgid "" "Transactions do not match the covered expenses. Please correct the mistakes " "listed below." @@ -69,19 +69,19 @@ msgstr "" "Überweisungen stimmen nicht mit den übernommenen Kosten überein. Bitte " "korrigiere die unten aufgeführten Fehler." -#: finance/admin.py:191 +#: finance/admin.py:206 msgid "Some transactions have no ledger configured. Please fill in the gaps." msgstr "" "Manche Überweisungen haben kein Geldtopf eingestellt. Bitte trage das nach." -#: finance/admin.py:200 +#: finance/admin.py:215 #, python-format msgid "Successfully rejected %(name)s. The requestor can reapply, when needed." msgstr "" "Die Rechnung %(name)s wurde abgelehnt. Die Person kann die Rechnung erneut " "einstellen, wenn es benötigt wird." -#: finance/admin.py:207 +#: finance/admin.py:222 #, python-format msgid "" "%(name)s already has transactions. Please delete them first, if you want to " @@ -90,12 +90,12 @@ msgstr "" "%(name)s hat bereits Überweisungen. Bitte lösche diese zunächst, bevor du " "neue generierst." -#: finance/admin.py:212 +#: finance/admin.py:227 #, python-format msgid "Successfully generated transactions for %(name)s" msgstr "Automatisch Überweisungsträger für %(name)s generiert." -#: finance/admin.py:215 +#: finance/admin.py:230 #, python-format msgid "" "Error while generating transactions for %(name)s. Do all bills have a payer?" @@ -103,28 +103,28 @@ msgstr "" "Fehler beim Erzeugen der Überweisungsträger für %(name)s. Sind für alle " "Quittungen eine bezahlende Person eingestellt? " -#: finance/admin.py:218 +#: finance/admin.py:233 msgid "View submitted statement" msgstr "Eingereichte Abrechnung einsehen" -#: finance/admin.py:230 +#: finance/admin.py:245 #, python-format msgid "Successfully reduced transactions for %(name)s." msgstr "Überweisungsträger für %(name)s minimiert." -#: finance/admin.py:274 +#: finance/admin.py:293 #, python-format msgid "%(name)s is not yet confirmed." msgstr "%(name)s ist noch nicht bestätigt." -#: finance/admin.py:283 +#: finance/admin.py:302 #, python-format msgid "Successfully unconfirmed %(name)s. I hope you know what you are doing." msgstr "" "Erfolgreich die Bestätigung von %(name)s zurückgenommen. Ich hoffe du weißt " "was du machst." -#: finance/admin.py:288 finance/templates/admin/unconfirm_statement.html:26 +#: finance/admin.py:307 finance/templates/admin/unconfirm_statement.html:26 msgid "Unconfirm statement" msgstr "Bestätigung zurücknehmen" @@ -132,185 +132,185 @@ msgstr "Bestätigung zurücknehmen" msgid "Finance" msgstr "Finanzen" -#: finance/models.py:21 +#: finance/models.py:24 msgid "Name" msgstr "Name" -#: finance/models.py:27 finance/models.py:472 finance/models.py:496 -#: finance/templates/admin/confirmed_statement.html:38 +#: finance/models.py:30 finance/models.py:484 finance/models.py:547 +#: finance/templates/admin/confirmed_statement.html:40 #: finance/templates/admin/overview_submitted_statement.html:100 msgid "Ledger" msgstr "Geldtopf" -#: finance/models.py:28 +#: finance/models.py:31 msgid "Ledgers" msgstr "Geldtöpfe" -#: finance/models.py:48 finance/models.py:415 finance/models.py:495 +#: finance/models.py:51 finance/models.py:420 finance/models.py:546 msgid "Short description" msgstr "Kurzbeschreibung" -#: finance/models.py:51 finance/models.py:416 +#: finance/models.py:54 finance/models.py:421 msgid "Explanation" msgstr "Erklärung" -#: finance/models.py:53 +#: finance/models.py:56 msgid "Associated excursion" msgstr "Zugehörige Ausfahrt" -#: finance/models.py:58 +#: finance/models.py:61 msgid "Price per night" msgstr "Preis pro Nacht" -#: finance/models.py:60 +#: finance/models.py:63 msgid "Submitted" msgstr "Eingericht" -#: finance/models.py:61 +#: finance/models.py:64 msgid "Submitted on" msgstr "Eingereicht am" -#: finance/models.py:62 +#: finance/models.py:65 msgid "Confirmed" msgstr "Abgewickelt" -#: finance/models.py:63 finance/models.py:479 +#: finance/models.py:66 finance/models.py:491 msgid "Paid on" msgstr "Bezahlt am" -#: finance/models.py:65 +#: finance/models.py:68 msgid "Created by" msgstr "Erstellt von" -#: finance/models.py:70 +#: finance/models.py:73 msgid "Submitted by" msgstr "Eingereicht von" -#: finance/models.py:75 finance/models.py:480 +#: finance/models.py:78 finance/models.py:492 msgid "Authorized by" msgstr "Autorisiert von" -#: finance/models.py:82 finance/models.py:414 finance/models.py:475 +#: finance/models.py:85 finance/models.py:419 finance/models.py:487 msgid "Statement" msgstr "Abrechnung" -#: finance/models.py:83 +#: finance/models.py:86 msgid "Statements" msgstr "Abrechnungen" -#: finance/models.py:98 +#: finance/models.py:101 #, python-format msgid "Statement: %(excursion)s" msgstr "Abrechnung: %(excursion)s" -#: finance/models.py:150 +#: finance/models.py:153 msgid "Ready to confirm" msgstr "Bereit zur Abwicklung" -#: finance/models.py:194 +#: finance/models.py:197 #, python-format msgid "Compensation for %(excu)s" msgstr "Entschädigung für %(excu)s" -#: finance/models.py:327 +#: finance/models.py:330 #: finance/templates/admin/overview_submitted_statement.html:78 msgid "Total" msgstr "Gesamtbetrag" -#: finance/models.py:369 +#: finance/models.py:374 msgid "Statement in preparation" msgstr "Abrechnung in Vorbereitung" -#: finance/models.py:370 +#: finance/models.py:375 msgid "Statements in preparation" msgstr "Abrechnungen in Vorbereitung" -#: finance/models.py:389 +#: finance/models.py:394 msgid "Submitted statement" msgstr "Eingereichte Abrechnung" -#: finance/models.py:390 +#: finance/models.py:395 msgid "Submitted statements" msgstr "Eingereichte Abrechnungen" -#: finance/models.py:406 +#: finance/models.py:411 msgid "Paid statement" msgstr "Bezahlte Abrechnung" -#: finance/models.py:407 +#: finance/models.py:412 msgid "Paid statements" msgstr "Bezahlte Abrechnungen" -#: finance/models.py:418 finance/models.py:432 finance/models.py:469 -#: finance/templates/admin/confirmed_statement.html:36 +#: finance/models.py:423 finance/models.py:444 finance/models.py:481 +#: finance/templates/admin/confirmed_statement.html:38 #: finance/templates/admin/overview_submitted_statement.html:31 #: finance/templates/admin/overview_submitted_statement.html:98 msgid "Amount" msgstr "Betrag" -#: finance/models.py:419 +#: finance/models.py:424 msgid "Paid by" msgstr "Bezahlt von" -#: finance/models.py:421 +#: finance/models.py:426 msgid "Covered" msgstr "Übernommen" -#: finance/models.py:422 +#: finance/models.py:427 msgid "Refunded" msgstr "Ausgezahlt" -#: finance/models.py:424 +#: finance/models.py:429 msgid "Proof" msgstr "Beleg" -#: finance/models.py:435 finance/models.py:442 finance/models.py:455 +#: finance/models.py:447 finance/models.py:454 finance/models.py:467 msgid "Bill" msgstr "Ausgabe" -#: finance/models.py:436 finance/models.py:443 finance/models.py:456 +#: finance/models.py:448 finance/models.py:455 finance/models.py:468 #: finance/templates/admin/overview_submitted_statement.html:26 msgid "Bills" msgstr "Ausgaben" -#: finance/models.py:468 finance/templates/admin/confirmed_statement.html:37 +#: finance/models.py:480 finance/templates/admin/confirmed_statement.html:39 #: finance/templates/admin/overview_submitted_statement.html:99 msgid "Reference" msgstr "Verwendungszweck" -#: finance/models.py:470 +#: finance/models.py:482 msgid "Recipient" msgstr "Empfänger" -#: finance/models.py:478 +#: finance/models.py:490 msgid "Paid" msgstr "Bezahlt" -#: finance/models.py:490 +#: finance/models.py:541 msgid "Transaction" msgstr "Überweisung" -#: finance/models.py:491 +#: finance/models.py:542 #: finance/templates/admin/overview_submitted_statement.html:84 msgid "Transactions" msgstr "Überweisungen" -#: finance/templates/admin/confirmed_statement.html:17 +#: finance/templates/admin/confirmed_statement.html:19 #: finance/templates/admin/overview_submitted_statement.html:17 #: finance/templates/admin/submit_statement.html:17 #: finance/templates/admin/unconfirm_statement.html:17 msgid "Home" msgstr "Start" -#: finance/templates/admin/confirmed_statement.html:21 +#: finance/templates/admin/confirmed_statement.html:23 msgid "Paiment" msgstr "Bezahlung" -#: finance/templates/admin/confirmed_statement.html:26 +#: finance/templates/admin/confirmed_statement.html:28 msgid "Paying statement" msgstr "Rechnung bezahlen" -#: finance/templates/admin/confirmed_statement.html:29 +#: finance/templates/admin/confirmed_statement.html:31 msgid "" "The statement is valid. Please execute the following transactions and then " "proceed by finalizing the confirmation." @@ -318,15 +318,32 @@ msgstr "" "Die Abrechnung ist gültig. Bitte führe die folgenden Überweisungen aus und " "fahre dann fort, indem du die Abwicklung bestätigst." -#: finance/templates/admin/confirmed_statement.html:35 +#: finance/templates/admin/confirmed_statement.html:37 msgid "IBAN" msgstr "IBAN" -#: finance/templates/admin/confirmed_statement.html:66 +#: finance/templates/admin/confirmed_statement.html:41 +msgid "QR Code" +msgstr "QR Code" + +#: finance/templates/admin/confirmed_statement.html:61 +#: finance/templates/admin/confirmed_statement.html:98 +msgid "Show" +msgstr "Anzeigen" + +#: finance/templates/admin/confirmed_statement.html:86 +msgid "No QR code can be displayed." +msgstr "Es kann kein QR-Code angezeigt werden." + +#: finance/templates/admin/confirmed_statement.html:99 +msgid "Showing" +msgstr "Sichtbar" + +#: finance/templates/admin/confirmed_statement.html:111 msgid "I did execute the listed transactions." msgstr "Ich habe die aufgeführten Überweisungen ausgeführt." -#: finance/templates/admin/confirmed_statement.html:68 +#: finance/templates/admin/confirmed_statement.html:113 msgid "Confirm" msgstr "Bestätigen" diff --git a/jdav_web/finance/models.py b/jdav_web/finance/models.py index 04286e1..d27b74f 100644 --- a/jdav_web/finance/models.py +++ b/jdav_web/finance/models.py @@ -15,6 +15,9 @@ from contrib.models import CommonModel from contrib.rules import has_global_perm from utils import cvt_to_decimal, RestrictedFileField +from schwifty import IBAN +import re + # Create your models here. class Ledger(models.Model): @@ -495,6 +498,45 @@ class Transaction(models.Model): def __str__(self): return "T#{}".format(self.pk) + @staticmethod + def escape_reference(reference): + umlaut_map = { + 'ä': 'ae', 'ö': 'oe', 'ü': 'ue', + 'Ä': 'Ae', 'Ö': 'Oe', 'Ü': 'Ue', + 'ß': 'ss' + } + pattern = re.compile('|'.join(umlaut_map.keys())) + int_reference = pattern.sub(lambda x: umlaut_map[x.group()], reference) + allowed_chars = r"[^a-z0-9 /?: .,'+-]" + clean_reference = re.sub(allowed_chars, '', int_reference, flags=re.IGNORECASE) + return clean_reference + + def code(self): + + if self.amount == 0: + return "" + + iban = IBAN(self.member.iban, allow_invalid=True) + if not iban.is_valid: + return "" + bic = iban.bic + + reference = self.escape_reference(self.reference) + + # also escaping receiver as umlaute are also not allowed here + receiver = self.escape_reference(f"{self.member.prename} {self.member.lastname}") + return f"""BCD +001 +1 +SCT +{bic} +{receiver} +{iban} +EUR{self.amount} + + +{reference}""" + class Meta: verbose_name = _('Transaction') verbose_name_plural = _('Transactions') diff --git a/jdav_web/finance/templates/admin/confirmed_statement.html b/jdav_web/finance/templates/admin/confirmed_statement.html index aa2c079..3d35418 100644 --- a/jdav_web/finance/templates/admin/confirmed_statement.html +++ b/jdav_web/finance/templates/admin/confirmed_statement.html @@ -7,6 +7,8 @@ + + {% endblock %} {% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} admin-view @@ -36,6 +38,7 @@ {% trans "Amount" %} {% trans "Reference" %} {% trans "Ledger" %} + {% trans "QR Code" %} {% for transaction in statement.transaction_set.all %} @@ -54,11 +57,53 @@ {{ transaction.ledger }} + + {% trans "Show" %} + {% endfor %}

+ + + + + + +
{% csrf_token %}

diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index cc0b56a..8b89c44 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -26,7 +26,7 @@ from django.db.models import TextField, ManyToManyField, ForeignKey, Count,\ Sum, Case, Q, F, When, Value, IntegerField, Subquery, OuterRef from django.forms import Textarea, RadioSelect, TypedChoiceField, CheckboxInput from django.shortcuts import render -from django.core.exceptions import PermissionDenied +from django.core.exceptions import PermissionDenied, ValidationError from .pdf import render_tex, fill_pdf_form, merge_pdfs, serve_pdf from contrib.admin import CommonAdminInlineMixin, CommonAdminMixin @@ -43,6 +43,8 @@ from finance.models import Statement, BillOnExcursionProxy from mailer.mailutils import send as send_mail, get_echo_link from django.conf import settings from utils import get_member, RestrictedFileField +from schwifty import IBAN + #from easy_select2 import apply_select2 @@ -161,6 +163,20 @@ class RegistrationFilter(admin.SimpleListFilter): 'display': title } +class MemberAdminForm(forms.ModelForm): + + class Meta: + model = Member + fields = '__all__' + + # check iban validity using schwifty package + def clean_iban(self): + iban_str = self.cleaned_data.get('iban') + if len(iban_str) > 0: + iban = IBAN(iban_str, allow_invalid=True) + if not iban.is_valid: + raise ValidationError(_("The entered IBAN is not valid.")) + return iban_str # Register your models here. class MemberAdmin(CommonAdminMixin, admin.ModelAdmin): @@ -223,6 +239,8 @@ class MemberAdmin(CommonAdminMixin, admin.ModelAdmin): actions = ['request_echo', 'invite_as_user_action'] list_per_page = 25 + form = MemberAdminForm + sensitive_fields = ['iban', 'registration_form', 'comments'] field_view_permissions = { diff --git a/jdav_web/members/locale/de/LC_MESSAGES/django.po b/jdav_web/members/locale/de/LC_MESSAGES/django.po index 129fad9..6f46c53 100644 --- a/jdav_web/members/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/members/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-27 18:18+0100\n" +"POT-Creation-Date: 2024-12-28 22:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,198 +18,202 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: members/admin.py:127 members/models.py:430 +#: members/admin.py:129 members/models.py:430 msgid "Registration complete" msgstr "Anmeldung vollständig" -#: members/admin.py:133 +#: members/admin.py:135 msgid "True" msgstr "Ja" -#: members/admin.py:134 +#: members/admin.py:136 msgid "False" msgstr "Nein" -#: members/admin.py:135 +#: members/admin.py:137 msgid "All" msgstr "Alle" -#: members/admin.py:185 members/admin.py:414 +#: members/admin.py:178 +msgid "The entered IBAN is not valid." +msgstr "Die eingegebene IBAN ist ungültig." + +#: members/admin.py:201 members/admin.py:432 msgid "Contact information" msgstr "Kontaktinformationen" -#: members/admin.py:190 members/admin.py:419 +#: members/admin.py:206 members/admin.py:437 msgid "Skills" msgstr "Fähigkeiten" -#: members/admin.py:195 members/admin.py:424 +#: members/admin.py:211 members/admin.py:442 msgid "Others" msgstr "Sonstiges" -#: members/admin.py:201 members/admin.py:429 +#: members/admin.py:217 members/admin.py:447 msgid "Organizational" msgstr "Organisatorisches" -#: members/admin.py:282 +#: members/admin.py:300 msgid "Compose new mail to selected members" msgstr "Neue Nachricht an ausgewählte Teilnehmer*innen verfassen" -#: members/admin.py:288 +#: members/admin.py:306 msgid "Echo required" msgstr "Rückmeldung erforderlich" -#: members/admin.py:290 +#: members/admin.py:308 msgid "Successfully requested echo from selected members." msgstr "" "Rückmeldungsaufforderung erfolgreich an ausgewählte Teilnehmer*innen " "verschickt." -#: members/admin.py:291 +#: members/admin.py:309 msgid "Request echo from selected members" msgstr "Rückmeldungsaufforderung an ausgewählte Teilnehmer*innen verschicken" -#: members/admin.py:300 +#: members/admin.py:318 #, python-format msgid "%(name)s does not have a DAV360 email address or is already registered." msgstr "%(name)s hat keine DAV360 E-Mail Adresse oder ist bereits registriert." -#: members/admin.py:302 +#: members/admin.py:320 #, python-format msgid "Successfully invited %(name)s as user." msgstr "Erfolgreich %(name)s aufgefordert Zugangsdaten zu wählen." -#: members/admin.py:304 +#: members/admin.py:322 msgid "Successfully invited selected members to join as users." msgstr "" "Erfolgreich ausgewählte Teilnehmer*innen aufgefordert Zugangsdaten zu wählen." -#: members/admin.py:306 +#: members/admin.py:324 msgid "Some members have been invited, others could not be invited." msgstr "" "Manche Teilnehmer*innen wurden eingeladen, andere konnten nicht eingeladen " "werden." -#: members/admin.py:313 members/admin.py:330 +#: members/admin.py:331 members/admin.py:348 msgid "Permission denied." msgstr "Fehlende Berechtigungen." -#: members/admin.py:320 members/admin.py:354 +#: members/admin.py:338 members/admin.py:372 #: members/templates/admin/invite_as_user.html:21 msgid "Invite as user" msgstr "Kompass Zugangsdaten wählen lassen" -#: members/admin.py:325 +#: members/admin.py:343 msgid "Invite selected members to join Kompass as users." msgstr "Ausgewählte Teilnehmer*innen Kompass Zugangsdaten wählen lassen." -#: members/admin.py:336 +#: members/admin.py:354 msgid "Member not found." msgstr "Teilnehmer*in nicht gefunden." -#: members/admin.py:340 +#: members/admin.py:358 #, python-format msgid "%(name)s already has login data." msgstr "%(name)s hat schon Zugangsdaten." -#: members/admin.py:345 +#: members/admin.py:363 #, python-format msgid "The configured email address for %(name)s is not an internal one." msgstr "Die für %(name)s eingestellte E-Mail Adresse ist keine DAV360 Adresse." -#: members/admin.py:359 +#: members/admin.py:377 #, python-format msgid "%(name)s already has a pending invitation as user." msgstr "" "%(name)s hat bereits eine ausstehende Aufforderung Zugangsdaten zu wählen." -#: members/admin.py:377 +#: members/admin.py:395 msgid "activity" msgstr "Aktivität" -#: members/admin.py:387 members/models.py:56 members/models.py:1584 +#: members/admin.py:405 members/models.py:56 members/models.py:1584 msgid "Name" msgstr "Name" -#: members/admin.py:478 +#: members/admin.py:496 msgid "Successfully requested mail confirmation from selected registrations." msgstr "Aufforderung zur Bestätigung der Email Adresse versendet." -#: members/admin.py:479 +#: members/admin.py:497 msgid "Request mail confirmation from selected registrations" msgstr "Aufforderung zur Bestätigung der Email Adresse versenden" -#: members/admin.py:486 members/admin.py:551 +#: members/admin.py:504 members/admin.py:569 #, python-format msgid "Successfully confirmed %(name)s." msgstr "Registrierung von %(name)s erfolgreich bestätigt." -#: members/admin.py:490 members/admin.py:554 +#: members/admin.py:508 members/admin.py:572 #, python-format msgid "Can't confirm. %(name)s has unconfirmed email addresses." msgstr "Bestätigung nicht möglich. %(name)s hat unbestätigte Emailadressen." -#: members/admin.py:495 +#: members/admin.py:513 msgid "Successfully confirmed multiple registrations." msgstr "Erfolgreich mehrere Registrierungen bestätigt." -#: members/admin.py:497 +#: members/admin.py:515 msgid "" "Failed to confirm some registrations because of unconfirmed email addresses." msgstr "" "Einige Bestätigungen fehlgeschlagen, weil Emailadressen noch nicht bestätigt " "sind." -#: members/admin.py:498 +#: members/admin.py:516 msgid "Confirm selected registrations" msgstr "Ausgewählte Registrierungen bestätigen" -#: members/admin.py:521 +#: members/admin.py:539 msgid "Demote selected registrations to waiters." msgstr "Ausgewählte Registrierungen zurück auf die Warteliste setzen." -#: members/admin.py:537 +#: members/admin.py:555 msgid "Demote member to waiter" msgstr "Ausgewählte Registrierung zurück auf die Warteliste setzen." -#: members/admin.py:546 +#: members/admin.py:564 #, python-format msgid "Successfully demoted %(name)s to waiter." msgstr "%(name)s zurück auf die Warteliste gesetzt." -#: members/admin.py:561 members/models.py:437 members/models.py:840 +#: members/admin.py:579 members/models.py:437 members/models.py:840 #: members/models.py:1329 msgid "Group" msgstr "Gruppe" -#: members/admin.py:566 +#: members/admin.py:584 msgid "Invitation text" msgstr "Einladungstext" -#: members/admin.py:582 +#: members/admin.py:600 msgid "Pending group invitation for group" msgstr "Ausstehende Gruppeneinladung für Gruppe" -#: members/admin.py:615 +#: members/admin.py:633 #, python-format msgid "Successfully asked %(name)s to confirm their waiting status." msgstr "Erfolgreich %(name)s aufgefordert den Wartelistenplatz zu bestätigen." -#: members/admin.py:616 +#: members/admin.py:634 msgid "Ask selected waiters to confirm their waiting status" msgstr "Wartende auffordern den Wartelistenplatz zu bestätigen" -#: members/admin.py:651 members/admin.py:681 +#: members/admin.py:669 msgid "Offer waiter a place in a group." msgstr "Personen auf der Warteliste einen Gruppenplatz anbieten." -#: members/admin.py:660 members/admin.py:698 members/admin.py:726 +#: members/admin.py:686 members/admin.py:714 msgid "" "An error occurred while trying to invite said members. Please try again." msgstr "" "Beim Einladen dieser Personen ist ein Fehler aufgetreten. Bitte versuche es " "nochmal. " -#: members/admin.py:664 members/admin.py:703 +#: members/admin.py:691 msgid "" "The selected group does not have a contact email. Please first set a contact " "email and then try again." @@ -217,39 +221,39 @@ msgstr "" "Die ausgewählte Gruppe hat keine Kontakt E-Mail Adresse. Bitte stelle eine " "Kontakt E-Mail Adresse ein und versuche es erneut." -#: members/admin.py:670 members/admin.py:731 +#: members/admin.py:694 members/admin.py:728 +msgid "Select group for invitation" +msgstr "Wähle Gruppe für Einladung aus" + +#: members/admin.py:719 #, python-format msgid "Successfully invited %(name)s to %(group)s." msgstr "Erfolgreich %(name)s zu Gruppe %(group)s eingeladen." -#: members/admin.py:674 members/admin.py:706 members/admin.py:740 -msgid "Select group for invitation" -msgstr "Wähle Gruppe für Einladung aus" - -#: members/admin.py:760 members/models.py:72 +#: members/admin.py:748 members/models.py:72 msgid "name" msgstr "Name" -#: members/admin.py:761 +#: members/admin.py:749 msgid "" "The group name may only consist of letters, numerals, _, -, :, * and spaces." msgstr "" "Der Gruppenname darf nur aus Buchstaben, Zahlen, _, -, :, * oder Leerzeichen " "bestehen." -#: members/admin.py:790 +#: members/admin.py:778 msgid "Difficulty" msgstr "Schwierigkeit" -#: members/admin.py:793 +#: members/admin.py:781 msgid "Tour type" msgstr "Art der Tour" -#: members/admin.py:796 members/models.py:1060 +#: members/admin.py:784 members/models.py:1060 msgid "Means of transportation" msgstr "Verkehrsmittel" -#: members/admin.py:823 +#: members/admin.py:811 msgid "" "Please list here all expenses in relation with this excursion and upload " "relevant bills. These have to be permanently stored for the application of " @@ -262,7 +266,7 @@ msgstr "" "einzelnen Posten wird dabei auf der LJP-Kostenübersicht angezeigt (sinnvoll " "wären z.B. Anreise, Verpflegung, Material etc.)." -#: members/admin.py:841 +#: members/admin.py:829 msgid "" "Here you can work on a seminar report for applying for financial " "contributions from Landesjugendplan (LJP). More information on creating a " @@ -275,7 +279,7 @@ msgstr "" "wahlweise nur TN-Liste und Kostenübersicht kannst du anschließend " "herunterladen." -#: members/admin.py:849 +#: members/admin.py:837 msgid "" "Please list all participants (also youth leaders) of this excursion. Here " "you can still make changes just before departure and hence generate the " @@ -286,34 +290,34 @@ msgstr "" "jederzeit die aktuelle Teilnehmer*innenliste für die Krisenintervention " "generieren." -#: members/admin.py:895 +#: members/admin.py:883 #, python-format msgid "You are not allowed to view all members on note list %(name)s." msgstr "" "Du hast nicht die nötigen Rechte um alle Teilnehmer*innen der Notizliste " "%(name)s anzusehen." -#: members/admin.py:905 +#: members/admin.py:893 msgid "Generate PDF summary" msgstr "Übersicht erstellen" -#: members/admin.py:909 +#: members/admin.py:897 msgid "Full report" msgstr "Vollständiger Seminarbericht" -#: members/admin.py:910 +#: members/admin.py:898 msgid "Costs and participants only" msgstr "Nur Kosten und Teilnehmende" -#: members/admin.py:911 +#: members/admin.py:899 msgid "Mode" msgstr "Modus" -#: members/admin.py:912 +#: members/admin.py:900 msgid "Prepend V32" msgstr "V32 Formblatt einfügen" -#: members/admin.py:928 +#: members/admin.py:916 msgid "" "General information on your excursion. These are partly relevant for the " "amount of financial compensation (means of transport, travel distance, etc.)." @@ -322,48 +326,48 @@ msgstr "" "teilweise relevant für die Zuschüsse aus dem Jugendetat (Verkehrsmittel, " "Fahrstrecke in km)." -#: members/admin.py:958 +#: members/admin.py:946 #, python-format msgid "You are not allowed to view all members on excursion %(name)s." msgstr "" "Du hast nicht die nötigen Rechte um alle Teilnehmer*innen der Ausfahrt " "%(name)s anzusehen." -#: members/admin.py:966 +#: members/admin.py:954 msgid "Generate crisis intervention list" msgstr "Kriseninterventionsliste erstellen" -#: members/admin.py:974 +#: members/admin.py:962 msgid "Generate overview" msgstr "Hinweise für Jugendleiter erstellen" -#: members/admin.py:978 members/admin.py:1010 +#: members/admin.py:966 members/admin.py:998 #: members/templates/admin/generate_seminar_report.html:21 msgid "Generate seminar report" msgstr "Landesjugendplan Antrag erstellen" -#: members/admin.py:991 +#: members/admin.py:979 msgid "Please select a mode." msgstr "Bitte wähle einen Modus aus." -#: members/admin.py:996 +#: members/admin.py:984 msgid "" "Full mode is only available, if the seminar report section is filled out." msgstr "" "Der vollständiger Modus ist nur verfügbar, wenn der Seminarbericht " "ausgefüllt ist. " -#: members/admin.py:1022 +#: members/admin.py:1010 msgid "Generate SJR application" msgstr "SJR Antrag erstellen" -#: members/admin.py:1026 +#: members/admin.py:1014 msgid "No statement found. Please add a statement and then retry." msgstr "" "Keine Abrechnung angelegt. Bitte lege eine Abrechnung and und versuche es " "erneut." -#: members/admin.py:1030 +#: members/admin.py:1018 msgid "" "Successfully submited statement. The finance department will notify you as " "soon as possible." @@ -371,7 +375,7 @@ msgstr "" "Abrechnung erfolgreich eingericht. Die Finanzabteilung wird sich bei dir so " "schnell wie möglich melden." -#: members/admin.py:1033 +#: members/admin.py:1021 #: members/templates/admin/freizeit_finance_overview.html:21 msgid "Finance overview" msgstr "Kostenübersicht" @@ -1316,8 +1320,8 @@ msgid "" msgstr "" "Der folgende Text wird in der Einladungsmail verschickt. Die Platzhalter " "{name}, {link} und {invitation_reject_link} werden beim Senden automatisch " -"durch personalisierte Daten ersetzt. Bitte passe den Text falls nötig an " -"und schicke die Einladung anschließend ab." +"durch personalisierte Daten ersetzt. Bitte passe den Text falls nötig an und " +"schicke die Einladung anschließend ab." #: members/templates/admin/invite_for_group_text.html:62 msgid "Send" diff --git a/jdav_web/static/js/qrcode.js b/jdav_web/static/js/qrcode.js new file mode 100644 index 0000000..5507c15 --- /dev/null +++ b/jdav_web/static/js/qrcode.js @@ -0,0 +1,614 @@ +/** + * @fileoverview + * - Using the 'QRCode for Javascript library' + * - Fixed dataset of 'QRCode for Javascript library' for support full-spec. + * - this library has no dependencies. + * + * @author davidshimjs + * @see http://www.d-project.com/ + * @see http://jeromeetienne.github.com/jquery-qrcode/ + */ +var QRCode; + +(function () { + //--------------------------------------------------------------------- + // QRCode for JavaScript + // + // Copyright (c) 2009 Kazuhiko Arase + // + // URL: http://www.d-project.com/ + // + // Licensed under the MIT license: + // http://www.opensource.org/licenses/mit-license.php + // + // The word "QR Code" is registered trademark of + // DENSO WAVE INCORPORATED + // http://www.denso-wave.com/qrcode/faqpatent-e.html + // + //--------------------------------------------------------------------- + function QR8bitByte(data) { + this.mode = QRMode.MODE_8BIT_BYTE; + this.data = data; + this.parsedData = []; + + // Added to support UTF-8 Characters + for (var i = 0, l = this.data.length; i < l; i++) { + var byteArray = []; + var code = this.data.charCodeAt(i); + + if (code > 0x10000) { + byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18); + byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12); + byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6); + byteArray[3] = 0x80 | (code & 0x3F); + } else if (code > 0x800) { + byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12); + byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6); + byteArray[2] = 0x80 | (code & 0x3F); + } else if (code > 0x80) { + byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6); + byteArray[1] = 0x80 | (code & 0x3F); + } else { + byteArray[0] = code; + } + + this.parsedData.push(byteArray); + } + + this.parsedData = Array.prototype.concat.apply([], this.parsedData); + + if (this.parsedData.length != this.data.length) { + this.parsedData.unshift(191); + this.parsedData.unshift(187); + this.parsedData.unshift(239); + } + } + + QR8bitByte.prototype = { + getLength: function (buffer) { + return this.parsedData.length; + }, + write: function (buffer) { + for (var i = 0, l = this.parsedData.length; i < l; i++) { + buffer.put(this.parsedData[i], 8); + } + } + }; + + function QRCodeModel(typeNumber, errorCorrectLevel) { + this.typeNumber = typeNumber; + this.errorCorrectLevel = errorCorrectLevel; + this.modules = null; + this.moduleCount = 0; + this.dataCache = null; + this.dataList = []; + } + + QRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+","+col);} + return this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);} + if(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);} + this.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}} + return pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;} + for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}} + for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}} + this.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);} + var mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;} + this.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}} + row+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error("code length overflow. (" + +buffer.getLengthInBits() + +">" + +totalDataCount*8 + +")");} + if(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);} + while(buffer.getLengthInBits()%8!=0){buffer.putBit(false);} + while(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;} + buffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;} + buffer.put(QRCodeModel.PAD1,8);} + return QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}} + var totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));} + return((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));} + return(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;} + return digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}} + for(var row=0;row=256){n-=255;} + return QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);} + if(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));} + this.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]]; + + function _isSupportCanvas() { + return typeof CanvasRenderingContext2D != "undefined"; + } + + // android 2.x doesn't support Data-URI spec + function _getAndroid() { + var android = false; + var sAgent = navigator.userAgent; + + if (/android/i.test(sAgent)) { // android + android = true; + var aMat = sAgent.toString().match(/android ([0-9]\.[0-9])/i); + + if (aMat && aMat[1]) { + android = parseFloat(aMat[1]); + } + } + + return android; + } + + var svgDrawer = (function() { + + var Drawing = function (el, htOption) { + this._el = el; + this._htOption = htOption; + }; + + Drawing.prototype.draw = function (oQRCode) { + var _htOption = this._htOption; + var _el = this._el; + var nCount = oQRCode.getModuleCount(); + var nWidth = Math.floor(_htOption.width / nCount); + var nHeight = Math.floor(_htOption.height / nCount); + + this.clear(); + + function makeSVG(tag, attrs) { + var el = document.createElementNS('http://www.w3.org/2000/svg', tag); + for (var k in attrs) + if (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]); + return el; + } + + var svg = makeSVG("svg" , {'viewBox': '0 0 ' + String(nCount) + " " + String(nCount), 'width': '100%', 'height': '100%', 'fill': _htOption.colorLight}); + svg.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink"); + _el.appendChild(svg); + + svg.appendChild(makeSVG("rect", {"fill": _htOption.colorLight, "width": "100%", "height": "100%"})); + svg.appendChild(makeSVG("rect", {"fill": _htOption.colorDark, "width": "1", "height": "1", "id": "template"})); + + for (var row = 0; row < nCount; row++) { + for (var col = 0; col < nCount; col++) { + if (oQRCode.isDark(row, col)) { + var child = makeSVG("use", {"x": String(col), "y": String(row)}); + child.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#template") + svg.appendChild(child); + } + } + } + }; + Drawing.prototype.clear = function () { + while (this._el.hasChildNodes()) + this._el.removeChild(this._el.lastChild); + }; + return Drawing; + })(); + + var useSVG = document.documentElement.tagName.toLowerCase() === "svg"; + + // Drawing in DOM by using Table tag + var Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? (function () { + var Drawing = function (el, htOption) { + this._el = el; + this._htOption = htOption; + }; + + /** + * Draw the QRCode + * + * @param {QRCode} oQRCode + */ + Drawing.prototype.draw = function (oQRCode) { + var _htOption = this._htOption; + var _el = this._el; + var nCount = oQRCode.getModuleCount(); + var nWidth = Math.floor(_htOption.width / nCount); + var nHeight = Math.floor(_htOption.height / nCount); + var aHTML = ['']; + + for (var row = 0; row < nCount; row++) { + aHTML.push(''); + + for (var col = 0; col < nCount; col++) { + aHTML.push(''); + } + + aHTML.push(''); + } + + aHTML.push('
'); + _el.innerHTML = aHTML.join(''); + + // Fix the margin values as real size. + var elTable = _el.childNodes[0]; + var nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2; + var nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2; + + if (nLeftMarginTable > 0 && nTopMarginTable > 0) { + elTable.style.margin = nTopMarginTable + "px " + nLeftMarginTable + "px"; + } + }; + + /** + * Clear the QRCode + */ + Drawing.prototype.clear = function () { + this._el.innerHTML = ''; + }; + + return Drawing; + })() : (function () { // Drawing in Canvas + function _onMakeImage() { + this._elImage.src = this._elCanvas.toDataURL("image/png"); + this._elImage.style.display = "block"; + this._elCanvas.style.display = "none"; + } + + // Android 2.1 bug workaround + // http://code.google.com/p/android/issues/detail?id=5141 + if (this._android && this._android <= 2.1) { + var factor = 1 / window.devicePixelRatio; + var drawImage = CanvasRenderingContext2D.prototype.drawImage; + CanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) { + if (("nodeName" in image) && /img/i.test(image.nodeName)) { + for (var i = arguments.length - 1; i >= 1; i--) { + arguments[i] = arguments[i] * factor; + } + } else if (typeof dw == "undefined") { + arguments[1] *= factor; + arguments[2] *= factor; + arguments[3] *= factor; + arguments[4] *= factor; + } + + drawImage.apply(this, arguments); + }; + } + + /** + * Check whether the user's browser supports Data URI or not + * + * @private + * @param {Function} fSuccess Occurs if it supports Data URI + * @param {Function} fFail Occurs if it doesn't support Data URI + */ + function _safeSetDataURI(fSuccess, fFail) { + var self = this; + self._fFail = fFail; + self._fSuccess = fSuccess; + + // Check it just once + if (self._bSupportDataURI === null) { + var el = document.createElement("img"); + var fOnError = function() { + self._bSupportDataURI = false; + + if (self._fFail) { + self._fFail.call(self); + } + }; + var fOnSuccess = function() { + self._bSupportDataURI = true; + + if (self._fSuccess) { + self._fSuccess.call(self); + } + }; + + el.onabort = fOnError; + el.onerror = fOnError; + el.onload = fOnSuccess; + el.src = "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; // the Image contains 1px data. + return; + } else if (self._bSupportDataURI === true && self._fSuccess) { + self._fSuccess.call(self); + } else if (self._bSupportDataURI === false && self._fFail) { + self._fFail.call(self); + } + }; + + /** + * Drawing QRCode by using canvas + * + * @constructor + * @param {HTMLElement} el + * @param {Object} htOption QRCode Options + */ + var Drawing = function (el, htOption) { + this._bIsPainted = false; + this._android = _getAndroid(); + + this._htOption = htOption; + this._elCanvas = document.createElement("canvas"); + this._elCanvas.width = htOption.width; + this._elCanvas.height = htOption.height; + el.appendChild(this._elCanvas); + this._el = el; + this._oContext = this._elCanvas.getContext("2d"); + this._bIsPainted = false; + this._elImage = document.createElement("img"); + this._elImage.alt = "Scan me!"; + this._elImage.style.display = "none"; + this._el.appendChild(this._elImage); + this._bSupportDataURI = null; + }; + + /** + * Draw the QRCode + * + * @param {QRCode} oQRCode + */ + Drawing.prototype.draw = function (oQRCode) { + var _elImage = this._elImage; + var _oContext = this._oContext; + var _htOption = this._htOption; + + var nCount = oQRCode.getModuleCount(); + var nWidth = _htOption.width / nCount; + var nHeight = _htOption.height / nCount; + var nRoundedWidth = Math.round(nWidth); + var nRoundedHeight = Math.round(nHeight); + + _elImage.style.display = "none"; + this.clear(); + + for (var row = 0; row < nCount; row++) { + for (var col = 0; col < nCount; col++) { + var bIsDark = oQRCode.isDark(row, col); + var nLeft = col * nWidth; + var nTop = row * nHeight; + _oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight; + _oContext.lineWidth = 1; + _oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight; + _oContext.fillRect(nLeft, nTop, nWidth, nHeight); + + // 안티 앨리어싱 방지 처리 + _oContext.strokeRect( + Math.floor(nLeft) + 0.5, + Math.floor(nTop) + 0.5, + nRoundedWidth, + nRoundedHeight + ); + + _oContext.strokeRect( + Math.ceil(nLeft) - 0.5, + Math.ceil(nTop) - 0.5, + nRoundedWidth, + nRoundedHeight + ); + } + } + + this._bIsPainted = true; + }; + + /** + * Make the image from Canvas if the browser supports Data URI. + */ + Drawing.prototype.makeImage = function () { + if (this._bIsPainted) { + _safeSetDataURI.call(this, _onMakeImage); + } + }; + + /** + * Return whether the QRCode is painted or not + * + * @return {Boolean} + */ + Drawing.prototype.isPainted = function () { + return this._bIsPainted; + }; + + /** + * Clear the QRCode + */ + Drawing.prototype.clear = function () { + this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height); + this._bIsPainted = false; + }; + + /** + * @private + * @param {Number} nNumber + */ + Drawing.prototype.round = function (nNumber) { + if (!nNumber) { + return nNumber; + } + + return Math.floor(nNumber * 1000) / 1000; + }; + + return Drawing; + })(); + + /** + * Get the type by string length + * + * @private + * @param {String} sText + * @param {Number} nCorrectLevel + * @return {Number} type + */ + function _getTypeNumber(sText, nCorrectLevel) { + var nType = 1; + var length = _getUTF8Length(sText); + + for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) { + var nLimit = 0; + + switch (nCorrectLevel) { + case QRErrorCorrectLevel.L : + nLimit = QRCodeLimitLength[i][0]; + break; + case QRErrorCorrectLevel.M : + nLimit = QRCodeLimitLength[i][1]; + break; + case QRErrorCorrectLevel.Q : + nLimit = QRCodeLimitLength[i][2]; + break; + case QRErrorCorrectLevel.H : + nLimit = QRCodeLimitLength[i][3]; + break; + } + + if (length <= nLimit) { + break; + } else { + nType++; + } + } + + if (nType > QRCodeLimitLength.length) { + throw new Error("Too long data"); + } + + return nType; + } + + function _getUTF8Length(sText) { + var replacedText = encodeURI(sText).toString().replace(/\%[0-9a-fA-F]{2}/g, 'a'); + return replacedText.length + (replacedText.length != sText ? 3 : 0); + } + + /** + * @class QRCode + * @constructor + * @example + * new QRCode(document.getElementById("test"), "http://jindo.dev.naver.com/collie"); + * + * @example + * var oQRCode = new QRCode("test", { + * text : "http://naver.com", + * width : 128, + * height : 128 + * }); + * + * oQRCode.clear(); // Clear the QRCode. + * oQRCode.makeCode("http://map.naver.com"); // Re-create the QRCode. + * + * @param {HTMLElement|String} el target element or 'id' attribute of element. + * @param {Object|String} vOption + * @param {String} vOption.text QRCode link data + * @param {Number} [vOption.width=256] + * @param {Number} [vOption.height=256] + * @param {String} [vOption.colorDark="#000000"] + * @param {String} [vOption.colorLight="#ffffff"] + * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H] + */ + QRCode = function (el, vOption) { + this._htOption = { + width : 256, + height : 256, + typeNumber : 4, + colorDark : "#000000", + colorLight : "#ffffff", + correctLevel : QRErrorCorrectLevel.H + }; + + if (typeof vOption === 'string') { + vOption = { + text : vOption + }; + } + + // Overwrites options + if (vOption) { + for (var i in vOption) { + this._htOption[i] = vOption[i]; + } + } + + if (typeof el == "string") { + el = document.getElementById(el); + } + + if (this._htOption.useSVG) { + Drawing = svgDrawer; + } + + this._android = _getAndroid(); + this._el = el; + this._oQRCode = null; + this._oDrawing = new Drawing(this._el, this._htOption); + + if (this._htOption.text) { + this.makeCode(this._htOption.text); + } + }; + + /** + * Make the QRCode + * + * @param {String} sText link data + */ + QRCode.prototype.makeCode = function (sText) { + this._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel); + this._oQRCode.addData(sText); + this._oQRCode.make(); + this._el.title = sText; + this._oDrawing.draw(this._oQRCode); + this.makeImage(); + }; + + /** + * Make the Image from Canvas element + * - It occurs automatically + * - Android below 3 doesn't support Data-URI spec. + * + * @private + */ + QRCode.prototype.makeImage = function () { + if (typeof this._oDrawing.makeImage == "function" && (!this._android || this._android >= 3)) { + this._oDrawing.makeImage(); + } + }; + + /** + * Clear the QRCode + */ + QRCode.prototype.clear = function () { + this._oDrawing.clear(); + }; + + /** + * @name QRCode.CorrectLevel + */ + QRCode.CorrectLevel = QRErrorCorrectLevel; +})(); diff --git a/requirements.txt b/requirements.txt index b490373..747d2f9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -48,6 +48,7 @@ pytz==2021.3 redis==4.1.0 requests==2.32.3 rules==3.3 +schwifty==2024.11.0 six==1.16.0 snowballstemmer==2.2.0 Sphinx==7.4.7 From f05c8b2fb68393d80710448f8b93cddc11bad861 Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Wed, 1 Jan 2025 21:32:22 +0100 Subject: [PATCH 06/10] members/admin: translate age label and add ordering field --- .../members/locale/de/LC_MESSAGES/django.po | 262 +++++++++--------- jdav_web/members/models.py | 9 +- 2 files changed, 138 insertions(+), 133 deletions(-) diff --git a/jdav_web/members/locale/de/LC_MESSAGES/django.po b/jdav_web/members/locale/de/LC_MESSAGES/django.po index 6f46c53..d935096 100644 --- a/jdav_web/members/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/members/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-28 22:56+0100\n" +"POT-Creation-Date: 2025-01-01 21:26+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: members/admin.py:129 members/models.py:430 +#: members/admin.py:129 members/models.py:431 msgid "Registration complete" msgstr "Anmeldung vollständig" @@ -130,7 +130,7 @@ msgstr "" msgid "activity" msgstr "Aktivität" -#: members/admin.py:405 members/models.py:56 members/models.py:1584 +#: members/admin.py:405 members/models.py:56 members/models.py:1585 msgid "Name" msgstr "Name" @@ -180,8 +180,8 @@ msgstr "Ausgewählte Registrierung zurück auf die Warteliste setzen." msgid "Successfully demoted %(name)s to waiter." msgstr "%(name)s zurück auf die Warteliste gesetzt." -#: members/admin.py:579 members/models.py:437 members/models.py:840 -#: members/models.py:1329 +#: members/admin.py:579 members/models.py:438 members/models.py:841 +#: members/models.py:1330 msgid "Group" msgstr "Gruppe" @@ -249,7 +249,7 @@ msgstr "Schwierigkeit" msgid "Tour type" msgstr "Art der Tour" -#: members/admin.py:784 members/models.py:1060 +#: members/admin.py:784 members/models.py:1061 msgid "Means of transportation" msgstr "Verkehrsmittel" @@ -412,11 +412,11 @@ msgstr "Samstag" msgid "Sunday" msgstr "Sonntag" -#: members/models.py:57 members/models.py:1046 +#: members/models.py:57 members/models.py:1047 msgid "Description" msgstr "Beschreibung" -#: members/models.py:63 members/models.py:1038 +#: members/models.py:63 members/models.py:1039 #: members/templates/members/change_member.html:18 msgid "Activity" msgstr "Aktivität" @@ -449,7 +449,7 @@ msgstr "Jugendleiter" msgid "week day" msgstr "Wochentag" -#: members/models.py:80 members/models.py:1411 +#: members/models.py:80 members/models.py:1412 msgid "Starting time" msgstr "Zeitpunkt" @@ -461,7 +461,7 @@ msgstr "Endzeitpunkt" msgid "Contact email" msgstr "Kontakt Email" -#: members/models.py:93 members/models.py:294 +#: members/models.py:93 members/models.py:295 msgid "group" msgstr "Gruppe" @@ -481,7 +481,7 @@ msgstr "Nachname" msgid "Email confirmed" msgstr "Emailadresse bestätigt" -#: members/models.py:150 members/models.py:221 members/models.py:268 +#: members/models.py:150 members/models.py:221 members/models.py:269 msgid "phone number" msgstr "Telefonnummer (mobil)" @@ -501,127 +501,131 @@ msgstr "Gender" msgid "comments" msgstr "Kommentare" -#: members/models.py:265 +#: members/models.py:246 +msgid "age" +msgstr "Alter" + +#: members/models.py:266 msgid "Alternative email confirmed" msgstr "Alternative E-Mail Adresse bestätigt" -#: members/models.py:269 +#: members/models.py:270 msgid "street and house number" msgstr "Straße und Hausnummer" -#: members/models.py:270 +#: members/models.py:271 msgid "Postcode" msgstr "PLZ" -#: members/models.py:272 +#: members/models.py:273 msgid "town" msgstr "Stadt" -#: members/models.py:273 +#: members/models.py:274 msgid "Address extra" msgstr "Adress-Zusatz" -#: members/models.py:274 +#: members/models.py:275 msgid "Country" msgstr "Land" -#: members/models.py:276 +#: members/models.py:277 msgid "Good conduct certificate presented on" msgstr "Führungszeugnis vorgelegt am" -#: members/models.py:277 +#: members/models.py:278 msgid "Joined on" msgstr "Eintritt" -#: members/models.py:278 +#: members/models.py:279 msgid "Left on" msgstr "Austritt" -#: members/models.py:279 +#: members/models.py:280 msgid "Has key" msgstr "Hat Jugendraumschlüssel" -#: members/models.py:280 +#: members/models.py:281 msgid "Has a free ticket for the climbing gym" msgstr "Hat Freikarte für Kletterhalle" -#: members/models.py:281 +#: members/models.py:282 msgid "DAV badge number" msgstr "DAV Mitgliedsnummer" -#: members/models.py:282 +#: members/models.py:283 msgid "Knows how to swim" msgstr "Kann schwimmen" -#: members/models.py:283 +#: members/models.py:284 msgid "Climbing badge" msgstr "Kletterschein" -#: members/models.py:284 +#: members/models.py:285 msgid "Alpine experience" msgstr "Alpine Erfahrung" -#: members/models.py:285 +#: members/models.py:286 msgid "Allergies" msgstr "Allergieen" -#: members/models.py:286 +#: members/models.py:287 msgid "Medication" msgstr "Medikamente" -#: members/models.py:287 +#: members/models.py:288 msgid "Tetanus vaccination" msgstr "Tetanusimpfung" -#: members/models.py:288 +#: members/models.py:289 msgid "Photos may be taken" msgstr "Fotoerlaubnis" -#: members/models.py:289 +#: members/models.py:290 msgid "Legal guardians" msgstr "Erziehungsberechtigte" -#: members/models.py:291 +#: members/models.py:292 msgid "May cancel a group appointment independently" msgstr "Darf sich allein von der Gruppenstunde abmelden" -#: members/models.py:298 +#: members/models.py:299 msgid "receives newsletter" msgstr "Erhält den Newsletter" -#: members/models.py:302 +#: members/models.py:303 msgid "created" msgstr "erstellt" -#: members/models.py:303 +#: members/models.py:304 msgid "Active" msgstr "Aktiv" -#: members/models.py:304 +#: members/models.py:305 msgid "registration form" msgstr "Anmeldeformular" -#: members/models.py:313 +#: members/models.py:314 msgid "image" msgstr "Bild" -#: members/models.py:322 +#: members/models.py:323 msgid "Echoed" msgstr "Rückgemeldet" -#: members/models.py:323 +#: members/models.py:324 msgid "Confirmed" msgstr "Bestätigt" -#: members/models.py:325 +#: members/models.py:326 msgid "Login data" msgstr "Zugangsdaten" -#: members/models.py:327 +#: members/models.py:328 msgid "waitinglist application date" msgstr "Wartelistenbewerbungsdatum" -#: members/models.py:329 +#: members/models.py:330 msgid "" "If the person registered from the waitinglist, this is their application " "date." @@ -629,351 +633,351 @@ msgstr "" "Falls sich die Person über die Warteliste angemeldet hat ist dies ihr " "Bewerbungsdatum." -#: members/models.py:358 +#: members/models.py:359 msgid "Good conduct certificate valid" msgstr "Führungszeugnis gültig" -#: members/models.py:440 +#: members/models.py:441 msgid "member" msgstr "Teilnehmer*in" -#: members/models.py:441 +#: members/models.py:442 msgid "members" msgstr "Teilnehmer*innen" -#: members/models.py:519 +#: members/models.py:520 msgid "Upload registration form" msgstr "Anmeldeformular hochladen" -#: members/models.py:530 +#: members/models.py:531 #, python-format msgid "New unconfirmed registration for group %(group)s" msgstr "Neue unbestätigte Registrierung für Gruppe %(group)s" -#: members/models.py:756 +#: members/models.py:757 msgid "Set login data for Kompass" msgstr "Zugangsdaten für Kompass wählen" -#: members/models.py:791 members/models.py:994 members/models.py:1005 -#: members/models.py:1360 members/models.py:1367 +#: members/models.py:792 members/models.py:995 members/models.py:1006 +#: members/models.py:1361 members/models.py:1368 msgid "Member" msgstr "Teilnehmer*in" -#: members/models.py:798 +#: members/models.py:799 msgid "Emergency contact" msgstr "Notfallkontakt" -#: members/models.py:799 +#: members/models.py:800 msgid "Emergency contacts" msgstr "Notfallkontakte" -#: members/models.py:819 +#: members/models.py:820 msgid "Unconfirmed registration" msgstr "Unbestätigte Registrierung" -#: members/models.py:820 +#: members/models.py:821 msgid "Unconfirmed registrations" msgstr "Unbestätigte Registrierungen" -#: members/models.py:839 members/models.py:884 +#: members/models.py:840 members/models.py:885 msgid "Waiter" msgstr "Wartende Person" -#: members/models.py:841 +#: members/models.py:842 msgid "Invitation date" msgstr "Einladungsdatum" -#: members/models.py:842 members/templates/members/reject_success.html:6 +#: members/models.py:843 members/templates/members/reject_success.html:6 #: members/templates/members/reject_success.html:11 msgid "Invitation rejected" msgstr "Einladung abgelehnt" -#: members/models.py:846 +#: members/models.py:847 msgid "Invitation to group" msgstr "Gruppeneinladung" -#: members/models.py:847 +#: members/models.py:848 msgid "Invitations to groups" msgstr "Gruppeneinladungen" -#: members/models.py:854 +#: members/models.py:855 msgid "Rejected" msgstr "Abgelehnt" -#: members/models.py:856 +#: members/models.py:857 msgid "Expired" msgstr "Abgelaufen" -#: members/models.py:858 +#: members/models.py:859 msgid "Undecided" msgstr "Ausstehend" -#: members/models.py:859 +#: members/models.py:860 msgid "Status" msgstr "Status" -#: members/models.py:870 +#: members/models.py:871 msgid "Do you want to tell us something else?" msgstr "Möchtest du uns noch etwas mitteilen?" -#: members/models.py:871 +#: members/models.py:872 msgid "application date" msgstr "Bewerbungsdatum" -#: members/models.py:873 +#: members/models.py:874 msgid "Last wait confirmation" msgstr "Letzte Wartebestätigung" -#: members/models.py:877 +#: members/models.py:878 msgid "Last reminder" msgstr "Letzte Erinnerung" -#: members/models.py:878 +#: members/models.py:879 msgid "Missed reminders" msgstr "Verpasste Erinnerungen" -#: members/models.py:885 +#: members/models.py:886 msgid "Waiters" msgstr "Warteliste" -#: members/models.py:900 +#: members/models.py:901 msgid "Latest group invitation" msgstr "Letzte Gruppeneinladung" -#: members/models.py:917 +#: members/models.py:918 msgid "Waiting status confirmed" msgstr "Wartelistenplatz bestätigt" -#: members/models.py:924 +#: members/models.py:925 msgid "Waiting confirmation needed" msgstr "Wartelistenplatzbestätigung erforderlich" -#: members/models.py:977 +#: members/models.py:978 msgid "Invitation to trial group meeting" msgstr "Einladung zu Schnupperstunde" -#: members/models.py:985 +#: members/models.py:986 msgid "Unregistered from waiting list" msgstr "Von der Warteliste abgemeldet" -#: members/models.py:999 +#: members/models.py:1000 msgid "Comment" msgstr "Kommentar" -#: members/models.py:1006 members/models.py:1368 +#: members/models.py:1007 members/models.py:1369 msgid "Members" msgstr "Teilnehmer*innen" -#: members/models.py:1040 +#: members/models.py:1041 msgid "Place" msgstr "Stützpunkt / Ort" -#: members/models.py:1041 +#: members/models.py:1042 msgid "Destination (optional)" msgstr "ggf. Ziel" -#: members/models.py:1043 +#: members/models.py:1044 msgid "e.g. a peak" msgstr "z.B. ein Gipfel" -#: members/models.py:1044 +#: members/models.py:1045 msgid "Begin" msgstr "Anfang" -#: members/models.py:1045 +#: members/models.py:1046 msgid "End (optional)" msgstr "Ende" -#: members/models.py:1048 +#: members/models.py:1049 msgid "Groups" msgstr "Gruppen" -#: members/models.py:1061 +#: members/models.py:1062 msgid "Kilometers traveled" msgstr "Fahrstrecke in Kilometer" -#: members/models.py:1064 +#: members/models.py:1065 msgid "Categories" msgstr "Kategorien" -#: members/models.py:1065 +#: members/models.py:1066 msgid "easy" msgstr "leicht" -#: members/models.py:1065 +#: members/models.py:1066 msgid "medium" msgstr "mittel" -#: members/models.py:1065 +#: members/models.py:1066 msgid "hard" msgstr "schwer" -#: members/models.py:1075 members/models.py:1391 +#: members/models.py:1076 members/models.py:1392 #: members/templates/admin/freizeit_finance_overview.html:26 msgid "Excursion" msgstr "Ausfahrt" -#: members/models.py:1076 +#: members/models.py:1077 msgid "Excursions" msgstr "Ausfahrten" -#: members/models.py:1306 members/models.py:1382 members/models.py:1598 +#: members/models.py:1307 members/models.py:1383 members/models.py:1599 msgid "Title" msgstr "Titel" -#: members/models.py:1307 members/models.py:1325 members/models.py:1599 +#: members/models.py:1308 members/models.py:1326 members/models.py:1600 msgid "Date" msgstr "Datum" -#: members/models.py:1326 +#: members/models.py:1327 msgid "Location" msgstr "Ort" -#: members/models.py:1327 +#: members/models.py:1328 msgid "Topic" msgstr "Thema" -#: members/models.py:1351 +#: members/models.py:1352 msgid "Jugendleiter" msgstr "Jugendleiter" -#: members/models.py:1354 +#: members/models.py:1355 msgid "Klettertreff" msgstr "Klettertreff" -#: members/models.py:1355 +#: members/models.py:1356 msgid "Klettertreffs" msgstr "Klettertreffs" -#: members/models.py:1373 +#: members/models.py:1374 msgid "Password" msgstr "Passwort" -#: members/models.py:1376 +#: members/models.py:1377 msgid "registration password" msgstr "Registrierungspassort" -#: members/models.py:1377 +#: members/models.py:1378 msgid "registration passwords" msgstr "Registrierungspasswörter" -#: members/models.py:1384 +#: members/models.py:1385 msgid "Alpinistic goals" msgstr "Alpintechnische Ziele" -#: members/models.py:1385 +#: members/models.py:1386 msgid "Pedagogic goals" msgstr "Pädagogische Ziele" -#: members/models.py:1386 +#: members/models.py:1387 msgid "Content and methods" msgstr "Inhalte und Methoden" -#: members/models.py:1387 +#: members/models.py:1388 msgid "Evaluation" msgstr "Wertung" -#: members/models.py:1388 +#: members/models.py:1389 msgid "Experiences and possible improvements" msgstr "Erfahrungen und Verbesserungsvorschläge" -#: members/models.py:1397 members/models.py:1418 +#: members/models.py:1398 members/models.py:1419 msgid "LJP Proposal" msgstr "Seminarbericht" -#: members/models.py:1398 +#: members/models.py:1399 msgid "LJP Proposals" msgstr "Seminarberichte" -#: members/models.py:1412 +#: members/models.py:1413 msgid "Duration in hours" msgstr "Dauer in Stunden" -#: members/models.py:1415 +#: members/models.py:1416 msgid "Activity and method" msgstr "Art der Aktion inkl. Methode" -#: members/models.py:1423 +#: members/models.py:1424 msgid "Intervention" msgstr "Aktion" -#: members/models.py:1424 +#: members/models.py:1425 msgid "Interventions" msgstr "Aktionen" -#: members/models.py:1526 members/models.py:1556 +#: members/models.py:1527 members/models.py:1557 msgid "May list members" msgstr "Darf folgende Teilnehmer*innen listen" -#: members/models.py:1528 members/models.py:1558 +#: members/models.py:1529 members/models.py:1559 msgid "May view members" msgstr "Darf folgende Teilnehmer*innen anzeigen" -#: members/models.py:1530 members/models.py:1560 +#: members/models.py:1531 members/models.py:1561 msgid "May change members" msgstr "Darf folgende Teilnehmer*innen ändern" -#: members/models.py:1532 members/models.py:1562 +#: members/models.py:1533 members/models.py:1563 msgid "May delete members" msgstr "Darf folgende Teilnehmer*innen löschen" -#: members/models.py:1536 members/models.py:1566 +#: members/models.py:1537 members/models.py:1567 msgid "May list members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen listen" -#: members/models.py:1538 members/models.py:1568 +#: members/models.py:1539 members/models.py:1569 msgid "May view members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen anzeigen" -#: members/models.py:1540 members/models.py:1570 +#: members/models.py:1541 members/models.py:1571 msgid "May change members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen ändern" -#: members/models.py:1542 members/models.py:1572 +#: members/models.py:1543 members/models.py:1573 msgid "May delete members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen löschen" -#: members/models.py:1545 members/models.py:1546 members/models.py:1549 +#: members/models.py:1546 members/models.py:1547 members/models.py:1550 msgid "Permissions" msgstr "Berechtigungen" -#: members/models.py:1575 members/models.py:1576 members/models.py:1579 +#: members/models.py:1576 members/models.py:1577 members/models.py:1580 msgid "Group permissions" msgstr "Gruppenberechtigungen" -#: members/models.py:1585 +#: members/models.py:1586 msgid "Permission needed" msgstr "Freigabe erforderlich" -#: members/models.py:1588 +#: members/models.py:1589 msgid "Training category" msgstr "Fortbildungstyp" -#: members/models.py:1589 +#: members/models.py:1590 msgid "Training categories" msgstr "Fortbildungstypen" -#: members/models.py:1600 +#: members/models.py:1601 msgid "Category" msgstr "Kategorien" -#: members/models.py:1601 +#: members/models.py:1602 msgid "Comments" msgstr "Kommentar" -#: members/models.py:1602 +#: members/models.py:1603 msgid "Participated" msgstr "Teilgenommmen" -#: members/models.py:1603 +#: members/models.py:1604 msgid "Passed" msgstr "Bestanden" -#: members/models.py:1606 +#: members/models.py:1607 msgid "Training" msgstr "Fortbildung" -#: members/models.py:1607 +#: members/models.py:1608 msgid "Trainings" msgstr "Fortbildungen" diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index 0ff3631..4bef718 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -239,10 +239,11 @@ class Person(Contact): class Meta(CommonModel.Meta): abstract = True - @property def age(self): """Age of member""" return relativedelta(datetime.today(), self.birth_date).years + age.admin_order_field = 'birth_date' + age.short_description = _('age') @property def birth_date_str(self): @@ -1203,9 +1204,9 @@ class Freizeit(CommonModel): members = set(map(lambda x: x.member, self.membersonlist.distinct())) total = len(members) total_b27_local = len([m for m in members - if m.age <= 27 and settings.SEKTION in m.town]) + if m.age() <= 27 and settings.SEKTION in m.town]) total_b27_non_local = len([m for m in members - if m.age <= 27 and not settings.SEKTION in m.town]) + if m.age() <= 27 and not settings.SEKTION in m.town]) jls = self.jugendleiter.distinct() title = self.ljpproposal.title if hasattr(self, 'ljpproposal') else self.name base = {'Haushaltsjahr': str(datetime.now().year), @@ -1230,7 +1231,7 @@ class Freizeit(CommonModel): suffix = '12' base['Vor- und Nachname' + suffix] = m.name base['Anschrift' + suffix] = m.address - base['Alter' + suffix] = str(m.age) + base['Alter' + suffix] = str(m.age()) base['Status' + suffix] = str(2) return base From 1bd2895415684b8219454780444ebbf1185d9af3 Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Wed, 1 Jan 2025 21:50:08 +0100 Subject: [PATCH 07/10] translations: remove line counts --- .../finance/locale/de/LC_MESSAGES/django.po | 217 +++-- jdav_web/locale/de/LC_MESSAGES/django.po | 142 +-- .../mailer/locale/de/LC_MESSAGES/django.po | 143 ++- .../material/locale/de/LC_MESSAGES/django.po | 48 +- .../members/locale/de/LC_MESSAGES/django.po | 816 +++++++++--------- .../startpage/locale/de/LC_MESSAGES/django.po | 47 +- 6 files changed, 690 insertions(+), 723 deletions(-) diff --git a/jdav_web/finance/locale/de/LC_MESSAGES/django.po b/jdav_web/finance/locale/de/LC_MESSAGES/django.po index 5da218d..6c85b0f 100644 --- a/jdav_web/finance/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/finance/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-28 01:22+0100\n" +"POT-Creation-Date: 2025-01-01 21:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,12 +18,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: finance/admin.py:84 +#: finance/admin.py #, python-format msgid "%(name)s is already submitted." msgstr "%(name)s ist bereits eingereicht." -#: finance/admin.py:90 +#: finance/admin.py #, python-format msgid "" "Successfully submited %(name)s. The finance department will notify the " @@ -32,23 +32,23 @@ msgstr "" "Rechnung %(name)s erfolgreich eingereicht. Das Finanzreferat wird auf dich " "sobald wie möglich zukommen." -#: finance/admin.py:93 +#: finance/admin.py msgid "Submit statement" msgstr "Rechnung einreichen" -#: finance/admin.py:177 +#: finance/admin.py #, python-format msgid "%(name)s is not yet submitted." msgstr "%(name)s ist noch nicht eingereicht." -#: finance/admin.py:184 +#: finance/admin.py #, python-format msgid "An error occured while trying to confirm %(name)s. Please try again." msgstr "" "Beim Abwickeln von %(name)s ist ein Fehler aufgetreten. Bitte versuche es " "erneut." -#: finance/admin.py:188 +#: finance/admin.py #, python-format msgid "" "Successfully confirmed %(name)s. I hope you executed the associated " @@ -57,11 +57,11 @@ msgstr "" "Erfolgreich %(name)s abgewickelt. Ich hoffe du hast die zugehörigen " "Überweisungen ausgeführt, ich werde dich nicht nochmal erinnern." -#: finance/admin.py:195 +#: finance/admin.py msgid "Statement confirmed" msgstr "Abrechnung abgewickelt" -#: finance/admin.py:201 +#: finance/admin.py msgid "" "Transactions do not match the covered expenses. Please correct the mistakes " "listed below." @@ -69,19 +69,19 @@ msgstr "" "Überweisungen stimmen nicht mit den übernommenen Kosten überein. Bitte " "korrigiere die unten aufgeführten Fehler." -#: finance/admin.py:206 +#: finance/admin.py msgid "Some transactions have no ledger configured. Please fill in the gaps." msgstr "" "Manche Überweisungen haben kein Geldtopf eingestellt. Bitte trage das nach." -#: finance/admin.py:215 +#: finance/admin.py #, python-format msgid "Successfully rejected %(name)s. The requestor can reapply, when needed." msgstr "" "Die Rechnung %(name)s wurde abgelehnt. Die Person kann die Rechnung erneut " "einstellen, wenn es benötigt wird." -#: finance/admin.py:222 +#: finance/admin.py #, python-format msgid "" "%(name)s already has transactions. Please delete them first, if you want to " @@ -90,12 +90,12 @@ msgstr "" "%(name)s hat bereits Überweisungen. Bitte lösche diese zunächst, bevor du " "neue generierst." -#: finance/admin.py:227 +#: finance/admin.py #, python-format msgid "Successfully generated transactions for %(name)s" msgstr "Automatisch Überweisungsträger für %(name)s generiert." -#: finance/admin.py:230 +#: finance/admin.py #, python-format msgid "" "Error while generating transactions for %(name)s. Do all bills have a payer?" @@ -103,214 +103,208 @@ msgstr "" "Fehler beim Erzeugen der Überweisungsträger für %(name)s. Sind für alle " "Quittungen eine bezahlende Person eingestellt? " -#: finance/admin.py:233 +#: finance/admin.py msgid "View submitted statement" msgstr "Eingereichte Abrechnung einsehen" -#: finance/admin.py:245 +#: finance/admin.py #, python-format msgid "Successfully reduced transactions for %(name)s." msgstr "Überweisungsträger für %(name)s minimiert." -#: finance/admin.py:293 +#: finance/admin.py #, python-format msgid "%(name)s is not yet confirmed." msgstr "%(name)s ist noch nicht bestätigt." -#: finance/admin.py:302 +#: finance/admin.py #, python-format msgid "Successfully unconfirmed %(name)s. I hope you know what you are doing." msgstr "" "Erfolgreich die Bestätigung von %(name)s zurückgenommen. Ich hoffe du weißt " "was du machst." -#: finance/admin.py:307 finance/templates/admin/unconfirm_statement.html:26 +#: finance/admin.py finance/templates/admin/unconfirm_statement.html msgid "Unconfirm statement" msgstr "Bestätigung zurücknehmen" -#: finance/apps.py:8 +#: finance/apps.py msgid "Finance" msgstr "Finanzen" -#: finance/models.py:24 +#: finance/models.py msgid "Name" msgstr "Name" -#: finance/models.py:30 finance/models.py:484 finance/models.py:547 -#: finance/templates/admin/confirmed_statement.html:40 -#: finance/templates/admin/overview_submitted_statement.html:100 +#: finance/models.py finance/templates/admin/confirmed_statement.html +#: finance/templates/admin/overview_submitted_statement.html msgid "Ledger" msgstr "Geldtopf" -#: finance/models.py:31 +#: finance/models.py msgid "Ledgers" msgstr "Geldtöpfe" -#: finance/models.py:51 finance/models.py:420 finance/models.py:546 +#: finance/models.py msgid "Short description" msgstr "Kurzbeschreibung" -#: finance/models.py:54 finance/models.py:421 +#: finance/models.py msgid "Explanation" msgstr "Erklärung" -#: finance/models.py:56 +#: finance/models.py msgid "Associated excursion" msgstr "Zugehörige Ausfahrt" -#: finance/models.py:61 +#: finance/models.py msgid "Price per night" msgstr "Preis pro Nacht" -#: finance/models.py:63 +#: finance/models.py msgid "Submitted" msgstr "Eingericht" -#: finance/models.py:64 +#: finance/models.py msgid "Submitted on" msgstr "Eingereicht am" -#: finance/models.py:65 +#: finance/models.py msgid "Confirmed" msgstr "Abgewickelt" -#: finance/models.py:66 finance/models.py:491 +#: finance/models.py msgid "Paid on" msgstr "Bezahlt am" -#: finance/models.py:68 +#: finance/models.py msgid "Created by" msgstr "Erstellt von" -#: finance/models.py:73 +#: finance/models.py msgid "Submitted by" msgstr "Eingereicht von" -#: finance/models.py:78 finance/models.py:492 +#: finance/models.py msgid "Authorized by" msgstr "Autorisiert von" -#: finance/models.py:85 finance/models.py:419 finance/models.py:487 +#: finance/models.py msgid "Statement" msgstr "Abrechnung" -#: finance/models.py:86 +#: finance/models.py msgid "Statements" msgstr "Abrechnungen" -#: finance/models.py:101 +#: finance/models.py #, python-format msgid "Statement: %(excursion)s" msgstr "Abrechnung: %(excursion)s" -#: finance/models.py:153 +#: finance/models.py msgid "Ready to confirm" msgstr "Bereit zur Abwicklung" -#: finance/models.py:197 +#: finance/models.py #, python-format msgid "Compensation for %(excu)s" msgstr "Entschädigung für %(excu)s" -#: finance/models.py:330 -#: finance/templates/admin/overview_submitted_statement.html:78 +#: finance/models.py finance/templates/admin/overview_submitted_statement.html msgid "Total" msgstr "Gesamtbetrag" -#: finance/models.py:374 +#: finance/models.py msgid "Statement in preparation" msgstr "Abrechnung in Vorbereitung" -#: finance/models.py:375 +#: finance/models.py msgid "Statements in preparation" msgstr "Abrechnungen in Vorbereitung" -#: finance/models.py:394 +#: finance/models.py msgid "Submitted statement" msgstr "Eingereichte Abrechnung" -#: finance/models.py:395 +#: finance/models.py msgid "Submitted statements" msgstr "Eingereichte Abrechnungen" -#: finance/models.py:411 +#: finance/models.py msgid "Paid statement" msgstr "Bezahlte Abrechnung" -#: finance/models.py:412 +#: finance/models.py msgid "Paid statements" msgstr "Bezahlte Abrechnungen" -#: finance/models.py:423 finance/models.py:444 finance/models.py:481 -#: finance/templates/admin/confirmed_statement.html:38 -#: finance/templates/admin/overview_submitted_statement.html:31 -#: finance/templates/admin/overview_submitted_statement.html:98 +#: finance/models.py finance/templates/admin/confirmed_statement.html +#: finance/templates/admin/overview_submitted_statement.html msgid "Amount" msgstr "Betrag" -#: finance/models.py:424 +#: finance/models.py msgid "Paid by" msgstr "Bezahlt von" -#: finance/models.py:426 +#: finance/models.py msgid "Covered" msgstr "Übernommen" -#: finance/models.py:427 +#: finance/models.py msgid "Refunded" msgstr "Ausgezahlt" -#: finance/models.py:429 +#: finance/models.py msgid "Proof" msgstr "Beleg" -#: finance/models.py:447 finance/models.py:454 finance/models.py:467 +#: finance/models.py msgid "Bill" msgstr "Ausgabe" -#: finance/models.py:448 finance/models.py:455 finance/models.py:468 -#: finance/templates/admin/overview_submitted_statement.html:26 +#: finance/models.py finance/templates/admin/overview_submitted_statement.html msgid "Bills" msgstr "Ausgaben" -#: finance/models.py:480 finance/templates/admin/confirmed_statement.html:39 -#: finance/templates/admin/overview_submitted_statement.html:99 +#: finance/models.py finance/templates/admin/confirmed_statement.html +#: finance/templates/admin/overview_submitted_statement.html msgid "Reference" msgstr "Verwendungszweck" -#: finance/models.py:482 +#: finance/models.py msgid "Recipient" msgstr "Empfänger" -#: finance/models.py:490 +#: finance/models.py msgid "Paid" msgstr "Bezahlt" -#: finance/models.py:541 +#: finance/models.py msgid "Transaction" msgstr "Überweisung" -#: finance/models.py:542 -#: finance/templates/admin/overview_submitted_statement.html:84 +#: finance/models.py finance/templates/admin/overview_submitted_statement.html msgid "Transactions" msgstr "Überweisungen" -#: finance/templates/admin/confirmed_statement.html:19 -#: finance/templates/admin/overview_submitted_statement.html:17 -#: finance/templates/admin/submit_statement.html:17 -#: finance/templates/admin/unconfirm_statement.html:17 +#: finance/templates/admin/confirmed_statement.html +#: finance/templates/admin/overview_submitted_statement.html +#: finance/templates/admin/submit_statement.html +#: finance/templates/admin/unconfirm_statement.html msgid "Home" msgstr "Start" -#: finance/templates/admin/confirmed_statement.html:23 +#: finance/templates/admin/confirmed_statement.html msgid "Paiment" msgstr "Bezahlung" -#: finance/templates/admin/confirmed_statement.html:28 +#: finance/templates/admin/confirmed_statement.html msgid "Paying statement" msgstr "Rechnung bezahlen" -#: finance/templates/admin/confirmed_statement.html:31 +#: finance/templates/admin/confirmed_statement.html msgid "" "The statement is valid. Please execute the following transactions and then " "proceed by finalizing the confirmation." @@ -318,60 +312,59 @@ msgstr "" "Die Abrechnung ist gültig. Bitte führe die folgenden Überweisungen aus und " "fahre dann fort, indem du die Abwicklung bestätigst." -#: finance/templates/admin/confirmed_statement.html:37 +#: finance/templates/admin/confirmed_statement.html msgid "IBAN" msgstr "IBAN" -#: finance/templates/admin/confirmed_statement.html:41 +#: finance/templates/admin/confirmed_statement.html msgid "QR Code" msgstr "QR Code" -#: finance/templates/admin/confirmed_statement.html:61 -#: finance/templates/admin/confirmed_statement.html:98 +#: finance/templates/admin/confirmed_statement.html msgid "Show" msgstr "Anzeigen" -#: finance/templates/admin/confirmed_statement.html:86 +#: finance/templates/admin/confirmed_statement.html msgid "No QR code can be displayed." msgstr "Es kann kein QR-Code angezeigt werden." -#: finance/templates/admin/confirmed_statement.html:99 +#: finance/templates/admin/confirmed_statement.html msgid "Showing" msgstr "Sichtbar" -#: finance/templates/admin/confirmed_statement.html:111 +#: finance/templates/admin/confirmed_statement.html msgid "I did execute the listed transactions." msgstr "Ich habe die aufgeführten Überweisungen ausgeführt." -#: finance/templates/admin/confirmed_statement.html:113 +#: finance/templates/admin/confirmed_statement.html msgid "Confirm" msgstr "Bestätigen" -#: finance/templates/admin/overview_submitted_statement.html:21 +#: finance/templates/admin/overview_submitted_statement.html msgid "Overview" msgstr "Übersicht" -#: finance/templates/admin/overview_submitted_statement.html:32 +#: finance/templates/admin/overview_submitted_statement.html msgid "Covered by association" msgstr "Vom Verein übernommen" -#: finance/templates/admin/overview_submitted_statement.html:50 +#: finance/templates/admin/overview_submitted_statement.html #, python-format msgid "The total amount is %(total_bills)s €." msgstr "Der Gesamtbetrag beträgt %(total_bills)s €." -#: finance/templates/admin/overview_submitted_statement.html:54 +#: finance/templates/admin/overview_submitted_statement.html msgid "Excursion" msgstr "Ausfahrt" -#: finance/templates/admin/overview_submitted_statement.html:57 +#: finance/templates/admin/overview_submitted_statement.html #, python-format msgid "This excursion featured %(staff_count)s youth leader(s), each costing" msgstr "" "Diese Ausfahrt hatte %(staff_count)s Jugendleiter*innen. Auf jede*n " "entfallen die folgenden Kosten:" -#: finance/templates/admin/overview_submitted_statement.html:62 +#: finance/templates/admin/overview_submitted_statement.html #, python-format msgid "" "%(nights)s nights for %(price_per_night)s€ per night making a total of " @@ -380,7 +373,7 @@ msgstr "" "%(nights)s Nächte zum Preis von %(price_per_night)s€ pro Nacht. Das ergibt " "eine Gesamtsumme von %(nights_per_yl)s€." -#: finance/templates/admin/overview_submitted_statement.html:65 +#: finance/templates/admin/overview_submitted_statement.html #, python-format msgid "" "%(duration)s days for %(allowance_per_day)s€ per day making a total of " @@ -389,7 +382,7 @@ msgstr "" "%(duration)s Tage für %(allowance_per_day)s€ pro Tag. Das ergibt eine " "Gesamtsumme von %(allowance_per_yl)s€." -#: finance/templates/admin/overview_submitted_statement.html:68 +#: finance/templates/admin/overview_submitted_statement.html #, python-format msgid "" "%(kilometers_traveled)s km by %(means_of_transport)s (%(euro_per_km)s € / " @@ -398,7 +391,7 @@ msgstr "" "%(kilometers_traveled)s km mit %(means_of_transport)s (%(euro_per_km)s€ / " "km). Das ergibt eine Gesamtsumme von %(transportation_per_yl)s€." -#: finance/templates/admin/overview_submitted_statement.html:73 +#: finance/templates/admin/overview_submitted_statement.html #, python-format msgid "" "In total this is %(total_per_yl)s€ times %(staff_count)s, giving " @@ -407,12 +400,12 @@ msgstr "" "Insgesamt sind das Kosten von %(total_per_yl)s€ mal %(staff_count)s, " "insgesamt also %(total_staff)s€." -#: finance/templates/admin/overview_submitted_statement.html:81 +#: finance/templates/admin/overview_submitted_statement.html #, python-format msgid "This results in a total amount of %(total)s€" msgstr "Das resultiert in einem Gesamtbetrag von %(total)s€" -#: finance/templates/admin/overview_submitted_statement.html:87 +#: finance/templates/admin/overview_submitted_statement.html msgid "" "Currently, no transactions are planned. You can auto generate them from the " "data, by clicking the following button." @@ -420,19 +413,19 @@ msgstr "" "Aktuell sind keine Überweisungen vorgesehen. Du kannst die erforderlichen " "durch Klicken auf den folgenden Knopf generieren." -#: finance/templates/admin/overview_submitted_statement.html:90 +#: finance/templates/admin/overview_submitted_statement.html msgid "Generate transactions" msgstr "Erzeuge Überweisungsträger" -#: finance/templates/admin/overview_submitted_statement.html:94 +#: finance/templates/admin/overview_submitted_statement.html msgid "Currently the following transactions are planned." msgstr "Aktuell sind die folgenden Überweisungen vorgesehen." -#: finance/templates/admin/overview_submitted_statement.html:137 +#: finance/templates/admin/overview_submitted_statement.html msgid "These transactions match the calculated costs." msgstr "Diese Überweisungen stimmen mit den berechneten Kosten überein." -#: finance/templates/admin/overview_submitted_statement.html:140 +#: finance/templates/admin/overview_submitted_statement.html msgid "" "The current transactions do not reflect all costs in this statement. Please " "fix the following issues:" @@ -440,42 +433,41 @@ msgstr "" "Die aktuell vorgesehenen Überweisungen stimmen nicht mit den berechneten " "Kosten überein. Bitte korrigiere die folgenden Fehler:" -#: finance/templates/admin/overview_submitted_statement.html:145 +#: finance/templates/admin/overview_submitted_statement.html msgid "Currently receiving" msgstr "Erhält aktuell" -#: finance/templates/admin/overview_submitted_statement.html:146 +#: finance/templates/admin/overview_submitted_statement.html msgid "Actual costs" msgstr "Tatsächliche Kosten" -#: finance/templates/admin/overview_submitted_statement.html:147 +#: finance/templates/admin/overview_submitted_statement.html msgid "Difference" msgstr "Differenz" -#: finance/templates/admin/overview_submitted_statement.html:174 +#: finance/templates/admin/overview_submitted_statement.html msgid "Accept" msgstr "Annehmen" -#: finance/templates/admin/overview_submitted_statement.html:175 +#: finance/templates/admin/overview_submitted_statement.html msgid "Reject" msgstr "Ablehnen" -#: finance/templates/admin/overview_submitted_statement.html:178 -#: finance/templates/admin/submit_statement.html:35 -#: finance/templates/admin/unconfirm_statement.html:39 +#: finance/templates/admin/overview_submitted_statement.html +#: finance/templates/admin/submit_statement.html +#: finance/templates/admin/unconfirm_statement.html msgid "Cancel" msgstr "Abbruch" -#: finance/templates/admin/submit_statement.html:21 -#: finance/templates/admin/submit_statement.html:34 +#: finance/templates/admin/submit_statement.html msgid "Submit" msgstr "Einreichen" -#: finance/templates/admin/submit_statement.html:26 +#: finance/templates/admin/submit_statement.html msgid "Submit to the finance department" msgstr "Beim Finanzreferat einreichen" -#: finance/templates/admin/submit_statement.html:28 +#: finance/templates/admin/submit_statement.html msgid "" "Do you want to submit the statement for further processing by the finance " "department? If you proceed, no further changes to the statement are possible." @@ -483,12 +475,11 @@ msgstr "" "Möchtest du die Abrechnung beim Finanzreferat einreichen? Wenn du " "fortschreitest, sind keine weiteren Änderungen an der Abrechnung möglich." -#: finance/templates/admin/unconfirm_statement.html:21 -#: finance/templates/admin/unconfirm_statement.html:38 +#: finance/templates/admin/unconfirm_statement.html msgid "Unconfirm" msgstr "Bestätigung zurücknehmen" -#: finance/templates/admin/unconfirm_statement.html:29 +#: finance/templates/admin/unconfirm_statement.html msgid "" "You are entering risk zone! Do you really want to manually set this " "statement back to unconfirmed?" @@ -496,7 +487,7 @@ msgstr "" "Du bewegst dich in einer Risiko Zone! Möchtest du wirklich manuell die " "Bestätigung dieser Abrechnung zurücknehmen?" -#: finance/templates/admin/unconfirm_statement.html:36 +#: finance/templates/admin/unconfirm_statement.html msgid "" "I am aware that this is not a standard procedure and this might cause data " "integrity issues." diff --git a/jdav_web/locale/de/LC_MESSAGES/django.po b/jdav_web/locale/de/LC_MESSAGES/django.po index 14cfefa..c28a46f 100644 --- a/jdav_web/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-01 16:23+0100\n" +"POT-Creation-Date: 2025-01-01 21:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,103 +18,103 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: contrib/admin.py:59 +#: contrib/admin.py #, python-format msgid "You are not allowed to view %(name)s." msgstr "Du hast nicht die notwendigen Berechtigungen um %(name)s zu sehen." -#: jdav_web/urls.py:26 +#: jdav_web/urls.py msgid "Startpage" msgstr "Startseite" -#: logindata/admin.py:25 +#: logindata/admin.py msgid "Permissions" msgstr "Berechtigungen" -#: logindata/admin.py:36 +#: logindata/admin.py msgid "Important dates" msgstr "Wichtigen Daten" -#: logindata/apps.py:8 +#: logindata/apps.py msgid "Authentication" msgstr "Authentifizierung" -#: logindata/models.py:10 +#: logindata/models.py msgid "Permission group" msgstr "Berechtigungsgruppe" -#: logindata/models.py:11 +#: logindata/models.py msgid "Permission groups" msgstr "Berechtigungsgruppen" -#: logindata/models.py:17 +#: logindata/models.py msgid "Login Datum" msgstr "Zugangsdaten" -#: logindata/models.py:18 +#: logindata/models.py msgid "Login Data" msgstr "Zugangsdaten" -#: logindata/models.py:25 +#: logindata/models.py msgid "Password" msgstr "Passwort" -#: logindata/models.py:31 +#: logindata/models.py msgid "Active registration password" msgstr "Aktives Registrierungspasswort" -#: logindata/models.py:32 +#: logindata/models.py msgid "Active registration passwords" msgstr "Aktive Registrierungspasswörter" -#: logindata/templates/logindata/register_failed.html:5 +#: logindata/templates/logindata/register_failed.html msgid "Registration" msgstr "Registrierung" -#: logindata/templates/logindata/register_failed.html:10 -#: logindata/templates/logindata/register_form.html:13 -#: logindata/templates/logindata/register_password.html:11 -#: logindata/templates/logindata/register_success.html:10 +#: logindata/templates/logindata/register_failed.html +#: logindata/templates/logindata/register_form.html +#: logindata/templates/logindata/register_password.html +#: logindata/templates/logindata/register_success.html msgid "Set login data" msgstr "Zugangsdaten wählen" -#: logindata/templates/logindata/register_failed.html:12 +#: logindata/templates/logindata/register_failed.html msgid "Something went wrong. The registration key is invalid or has expired." msgstr "" "Etwas ist schief gegangen. Der Registrierungscode ist ungültig oder ist " "abgelaufen." -#: logindata/templates/logindata/register_failed.html:14 +#: logindata/templates/logindata/register_failed.html msgid "If you think this is a mistake, please" msgstr "Falls du denkst, dass das ein Fehler ist, bitte" -#: logindata/templates/logindata/register_failed.html:14 +#: logindata/templates/logindata/register_failed.html msgid "contact us." msgstr "kontaktiere uns." -#: logindata/templates/logindata/register_form.html:6 -#: logindata/templates/logindata/register_password.html:6 +#: logindata/templates/logindata/register_form.html +#: logindata/templates/logindata/register_password.html msgid "Register" msgstr "Registrieren" -#: logindata/templates/logindata/register_form.html:15 -#: logindata/templates/logindata/register_password.html:13 +#: logindata/templates/logindata/register_form.html +#: logindata/templates/logindata/register_password.html msgid "Welcome, " msgstr "Willkommen, " -#: logindata/templates/logindata/register_form.html:16 +#: logindata/templates/logindata/register_form.html msgid "" "To set your personal login data, please enter the password that you received." msgstr "" "Um deine persönlichen Zugansdaten festzulegen, gib bitte das Passwort ein, " "das du erhalten hast." -#: logindata/templates/logindata/register_form.html:30 -#: logindata/templates/logindata/register_password.html:23 +#: logindata/templates/logindata/register_form.html +#: logindata/templates/logindata/register_password.html msgid "submit" msgstr "Einreichen" -#: logindata/templates/logindata/register_password.html:13 +#: logindata/templates/logindata/register_password.html msgid "" "To set your personal login data for Kompass, please enter the password that " "you received." @@ -122,20 +122,20 @@ msgstr "" "Um deine persönlichen Zugangsdaten festzulegen, gib bitte das Passwort ein, " "das du erhalten hast." -#: logindata/templates/logindata/register_success.html:5 +#: logindata/templates/logindata/register_success.html msgid "Registration successful" msgstr "Zugangsdaten erfolgreich festgelegt" -#: logindata/templates/logindata/register_success.html:12 +#: logindata/templates/logindata/register_success.html msgid "You successfully set your login data. You can now proceed to" msgstr "" "Du hast deine Zugangsdaten erfolgreich festgelegt. Du kannst nun weiter zum" -#: logindata/views.py:59 +#: logindata/views.py msgid "You entered a wrong password." msgstr "Das eingegebene Passwort ist falsch." -#: templates/admin/delete_confirmation.html:7 +#: templates/admin/delete_confirmation.html #, python-format msgid "" "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " @@ -146,7 +146,7 @@ msgstr "" "folgenden verknüpften Objekte führen, aber du hast nicht die Berechtigung " "die folgenden Typen von Objekten zu löschen:" -#: templates/admin/delete_confirmation.html:12 +#: templates/admin/delete_confirmation.html #, python-format msgid "" "Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " @@ -155,7 +155,7 @@ msgstr "" "Löschen von %(object_name)s '%(escaped_object)s' würde zur Löschung der " "folgenden geschützten verknüpften Objekte führen:" -#: templates/admin/delete_confirmation.html:17 +#: templates/admin/delete_confirmation.html #, python-format msgid "" "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"?" @@ -163,17 +163,17 @@ msgstr "" "Bist du sicher, dass du %(object_name)s \"%(escaped_object)s\" und alle " "davon abhängigen Objekte löschen möchtest? " -#: templates/admin/delete_confirmation.html:29 -#: templates/admin/delete_selected_confirmation.html:34 +#: templates/admin/delete_confirmation.html +#: templates/admin/delete_selected_confirmation.html msgid "Yes, I’m sure" msgstr "Ja, ich bin sicher" -#: templates/admin/delete_confirmation.html:30 -#: templates/admin/delete_selected_confirmation.html:35 +#: templates/admin/delete_confirmation.html +#: templates/admin/delete_selected_confirmation.html msgid "No, take me back" msgstr "Nein, bitte abbrechen" -#: templates/admin/delete_selected_confirmation.html:6 +#: templates/admin/delete_selected_confirmation.html #, python-format msgid "" "Deleting the selected %(objects_name)s would result in deleting related " @@ -184,7 +184,7 @@ msgstr "" "verknüpften Objekte führen, aber du hast nicht die Berechtigung die " "folgenden Typen von Objekten zu löschen:" -#: templates/admin/delete_selected_confirmation.html:9 +#: templates/admin/delete_selected_confirmation.html #, python-format msgid "" "Deleting the selected %(objects_name)s would require deleting the following " @@ -193,7 +193,7 @@ msgstr "" "Löschen der ausgewählten %(objects_name)s würde zur Löschung der folgenden " "geschützten verknüpften Objekte führen:" -#: templates/admin/delete_selected_confirmation.html:12 +#: templates/admin/delete_selected_confirmation.html #, python-format msgid "" "Are you sure you want to delete the selected %(objects_name)s? All of the " @@ -202,99 +202,99 @@ msgstr "" "Bist du sicher, dass du die ausgewählten %(objects_name)s löschen möchtest? " "Alle folgenden Objekte und alle davon abhängigen Objekte werden gelöscht:" -#: templates/admin/delete_selected_confirmation.html:14 +#: templates/admin/delete_selected_confirmation.html msgid "Summary" msgstr "Zusammenfassung" -#: templates/admin/delete_selected_confirmation.html:18 +#: templates/admin/delete_selected_confirmation.html msgid "Objects" msgstr "Objekte" -#: templates/admin/edit_inline/stacked.html:20 -#: templates/admin/edit_inline/tabular.html:47 -#: templates/nesting/admin/inlines/stacked.html:42 +#: templates/admin/edit_inline/stacked.html +#: templates/admin/edit_inline/tabular.html +#: templates/nesting/admin/inlines/stacked.html msgid "Change" msgstr "Ändern" -#: templates/admin/edit_inline/stacked.html:20 -#: templates/admin/edit_inline/tabular.html:47 -#: templates/nesting/admin/inlines/stacked.html:42 +#: templates/admin/edit_inline/stacked.html +#: templates/admin/edit_inline/tabular.html +#: templates/nesting/admin/inlines/stacked.html msgid "View" msgstr "Anzeigen" -#: templates/admin/edit_inline/stacked.html:22 -#: templates/admin/edit_inline/tabular.html:49 -#: templates/nesting/admin/inlines/stacked.html:44 +#: templates/admin/edit_inline/stacked.html +#: templates/admin/edit_inline/tabular.html +#: templates/nesting/admin/inlines/stacked.html msgid "View on site" msgstr "Auf der Website anzeigen" -#: templates/admin/edit_inline/tabular.html:33 +#: templates/admin/edit_inline/tabular.html msgid "Delete?" msgstr "Löschen?" -#: templates/admin/finance/statementconfirmed/change_form_object_tools.html:8 +#: templates/admin/finance/statementconfirmed/change_form_object_tools.html msgid "Unconfirm" msgstr "Bestätigung zurücknehmen" -#: templates/admin/finance/statementsubmitted/change_form_object_tools.html:21 +#: templates/admin/finance/statementsubmitted/change_form_object_tools.html msgid "Reduce transactions" msgstr "Überweisungen minimieren" -#: templates/admin/finance/statementsubmitted/change_form_object_tools.html:36 +#: templates/admin/finance/statementsubmitted/change_form_object_tools.html msgid "Overview" msgstr "Übersicht" -#: templates/admin/finance/statementunsubmitted/change_form_object_tools.html:9 +#: templates/admin/finance/statementunsubmitted/change_form_object_tools.html msgid "Submit" msgstr "Einreichen" -#: templates/admin/members/freizeit/change_form_object_tools.html:9 +#: templates/admin/members/freizeit/change_form_object_tools.html msgid "Generate crisis intervention list" msgstr "Kriseninterventionsliste erstellen" -#: templates/admin/members/freizeit/change_form_object_tools.html:16 +#: templates/admin/members/freizeit/change_form_object_tools.html msgid "Generate SJR application" msgstr "SJR Antrag erstellen" -#: templates/admin/members/freizeit/change_form_object_tools.html:23 +#: templates/admin/members/freizeit/change_form_object_tools.html msgid "Generate seminar report" msgstr "Landesjugendplan Antrag erstellen" -#: templates/admin/members/freizeit/change_form_object_tools.html:30 +#: templates/admin/members/freizeit/change_form_object_tools.html msgid "Generate overview" msgstr "Hinweise für Jugendleiter*innen erstellen" -#: templates/admin/members/freizeit/change_form_object_tools.html:38 +#: templates/admin/members/freizeit/change_form_object_tools.html msgid "Finance overview" msgstr "Kostenübersicht" -#: templates/admin/members/member/change_form_object_tools.html:8 +#: templates/admin/members/member/change_form_object_tools.html msgid "Invite as user" msgstr "Als Kompassbenutzer*in einladen" -#: templates/admin/members/memberunconfirmedproxy/change_form_object_tools.html:8 +#: templates/admin/members/memberunconfirmedproxy/change_form_object_tools.html msgid "Demote to waiter" msgstr "Zurück auf die Warteliste setzen" -#: templates/admin/members/memberwaitinglist/change_form_object_tools.html:8 -#: templates/admin/members/memberwaitinglist/submit_line.html:9 +#: templates/admin/members/memberwaitinglist/change_form_object_tools.html +#: templates/admin/members/memberwaitinglist/submit_line.html msgid "Invite to group" msgstr "Zu Gruppe einladen" -#: templates/nesting/admin/inlines/stacked.html:87 +#: templates/nesting/admin/inlines/stacked.html #, python-format msgid "Add another %(verbose_name)s" msgstr "Weiteren %(verbose_name)s hinzufügen" -#: utils.py:15 +#: utils.py msgid "Please keep filesize under {} MiB. Current filesize: {:10.2f} MiB." msgstr "Maximale Dateigröße {} MiB. Aktuelle Dateigröße: {:10.2f} MiB." -#: utils.py:43 +#: utils.py msgid "Filetype not supported." msgstr "Dateityp nicht unterstützt." -#: utils.py:45 +#: utils.py msgid "Please keep filesize under {}. Current filesize: {}" msgstr "Maximale Dateigröße {}. Aktuelle Dateigröße: {}." diff --git a/jdav_web/mailer/locale/de/LC_MESSAGES/django.po b/jdav_web/mailer/locale/de/LC_MESSAGES/django.po index 7a7e0ec..b97b0df 100644 --- a/jdav_web/mailer/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/mailer/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-02 22:50+0100\n" +"POT-Creation-Date: 2025-01-01 21:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mailer/admin.py:69 +#: mailer/admin.py msgid "Send message" msgstr "Nachricht verschicken" -#: mailer/admin.py:96 +#: mailer/admin.py msgid "" "Your account is not connected to a member. Please contact your system " "administrator." @@ -30,7 +30,7 @@ msgstr "" "Dein Account ist nicht mit eine*r Teilnehmer*in verknüpft. Bitte kontaktiere " "deine*n Systemadministrator*in." -#: mailer/admin.py:100 +#: mailer/admin.py msgid "" "Your email address is not an internal email address. Please change your " "email address and try again." @@ -38,58 +38,58 @@ msgstr "" "Deine E-Mail Adresse ist keine DAV360 E-Mail Adresse. Bitte stelle sicher, " "dass deine E-Mail Adresse mit @alpenverein-heidelberg.de endet." -#: mailer/admin.py:104 +#: mailer/admin.py msgid "Failed to send message" msgstr "Fehler beim Senden der Email" -#: mailer/admin.py:106 +#: mailer/admin.py msgid "Failed to send some messages" msgstr "Fehler beim Senden der Emails" -#: mailer/admin.py:108 +#: mailer/admin.py msgid "Successfully sent message" msgstr "Email wurde erfolgreich verschickt" -#: mailer/apps.py:7 +#: mailer/apps.py msgid "mailer" msgstr "Verteiler" -#: mailer/management/commands/notify_active.py:36 +#: mailer/management/commands/notify_active.py #, python-format msgid "Congratulation %(name)s" msgstr "Herzlichen Glückwunsch %(name)s" -#: mailer/models.py:20 +#: mailer/models.py msgid "Only alphanumeric characters, ., - and _ are allowed" msgstr "Nur Buchstaben, Zahlen, ., . und _ sind erlaubt" -#: mailer/models.py:25 +#: mailer/models.py msgid "name" msgstr "Name" -#: mailer/models.py:27 +#: mailer/models.py msgid "Forward to participants" msgstr "Weiterleitung an Teilnehmer*innen" -#: mailer/models.py:30 +#: mailer/models.py msgid "Forward to group" msgstr "Weiterleitung an Gruppe" -#: mailer/models.py:32 +#: mailer/models.py msgid "Restrict to internal email addresses" msgstr "Weiterleitung nur von internen E-Mail Adressen erlaubt" -#: mailer/models.py:33 +#: mailer/models.py msgid "Only allow forwarding to this e-mail address from the internal domain." msgstr "" "Leite nur E-Mails weiter, die von ...@alpenverein-heidelberg.de verschickt " "wurden. " -#: mailer/models.py:36 +#: mailer/models.py msgid "Allowed sender" msgstr "Erlaubte Absender:innen" -#: mailer/models.py:37 +#: mailer/models.py msgid "" "Only forward e-mails of members of selected groups. Leave empty to allow all " "senders." @@ -97,222 +97,221 @@ msgstr "" "Leite nur E-Mails von Mitgliedern dieser Gruppen weiter. Lasse dieses Feld " "frei, um alle Absender*innen zu erlauben." -#: mailer/models.py:55 +#: mailer/models.py msgid "email address" msgstr "Email-Adresse" -#: mailer/models.py:56 +#: mailer/models.py msgid "email addresses" msgstr "Email-Adressen" -#: mailer/models.py:69 +#: mailer/models.py msgid "Either a group or at least one member is required as forward recipient." msgstr "" "Es muss entweder eine Gruppe oder mindestens ein*e Teilnehmer*in als " "Empfänger*in ausgewählt werden." -#: mailer/models.py:77 +#: mailer/models.py msgid "subject" msgstr "Betreff" -#: mailer/models.py:78 +#: mailer/models.py msgid "content" msgstr "Inhalt" -#: mailer/models.py:80 +#: mailer/models.py msgid "to group" msgstr "An Gruppe" -#: mailer/models.py:83 +#: mailer/models.py msgid "to freizeit" msgstr "An Ausfahrt" -#: mailer/models.py:88 +#: mailer/models.py msgid "to notes list" msgstr "An Notizliste" -#: mailer/models.py:93 +#: mailer/models.py msgid "to member" msgstr "An Teilnehmer*innen" -#: mailer/models.py:96 +#: mailer/models.py msgid "reply to participant" msgstr "Antwort an Teilnehmer*innen" -#: mailer/models.py:100 +#: mailer/models.py msgid "reply to custom email address" msgstr "Antwort an Email-Adresse" -#: mailer/models.py:103 +#: mailer/models.py msgid "sent" msgstr "Gesendet" -#: mailer/models.py:104 +#: mailer/models.py msgid "Created by" msgstr "Erstellt von" -#: mailer/models.py:122 +#: mailer/models.py msgid "Some other members" msgstr "Andere Teilnehmer*innen" -#: mailer/models.py:124 +#: mailer/models.py msgid "recipients" msgstr "Empfänger" -#: mailer/models.py:196 +#: mailer/models.py msgid "message" msgstr "Nachricht" -#: mailer/models.py:197 +#: mailer/models.py msgid "messages" msgstr "Nachrichten" -#: mailer/models.py:199 +#: mailer/models.py msgid "Can submit mails" msgstr "Kann Mails verschicken" -#: mailer/models.py:220 +#: mailer/models.py msgid "" "Either a group, a memberlist or at least one member is required as recipient" msgstr "" "Es muss entweder eine Gruppe, eine Teilnehmer*innenliste oder mindestens " "ein*e Teilnehmer*in als Empfänger*in ausgewählt werden." -#: mailer/models.py:227 +#: mailer/models.py msgid "file" msgstr "Datei" -#: mailer/models.py:232 +#: mailer/models.py msgid "Empty" msgstr "Leer" -#: mailer/models.py:235 +#: mailer/models.py msgid "attachment" msgstr "Anhang" -#: mailer/models.py:236 +#: mailer/models.py msgid "attachments" msgstr "Anhänge" -#: mailer/templates/mailer/change_form.html:11 +#: mailer/templates/mailer/change_form.html msgid "Save and send mail" msgstr "Speichern und Email senden" -#: mailer/templates/mailer/confirm_send.html:7 +#: mailer/templates/mailer/confirm_send.html msgid "Do you really want to send these mails?" msgstr "Möchtest du diese Emails wirklich verschicken?" -#: mailer/templates/mailer/confirm_send.html:13 +#: mailer/templates/mailer/confirm_send.html msgid "already sent" msgstr "schon verschickt" -#: mailer/templates/mailer/confirm_send.html:19 +#: mailer/templates/mailer/confirm_send.html msgid "" "Some messages have already been sent! Do you really want to resend them?" msgstr "" "Einige Emails wurden schon versendet! Möchtest du diese wirklich nochmal " "senden?" -#: mailer/templates/mailer/confirm_send.html:30 +#: mailer/templates/mailer/confirm_send.html msgid "Send" msgstr "Senden" -#: mailer/templates/mailer/confirm_send.html:35 +#: mailer/templates/mailer/confirm_send.html msgid "Cancel" msgstr "Abbruch" -#: mailer/templates/mailer/confirmation_sent.html:4 -#: mailer/templates/mailer/unsubscribe.html:5 -#: mailer/templates/mailer/unsubscribe.html:25 +#: mailer/templates/mailer/confirmation_sent.html +#: mailer/templates/mailer/unsubscribe.html msgid "Unsubscribe" msgstr "Vom Newsletter abmelden" -#: mailer/templates/mailer/confirmation_sent.html:7 +#: mailer/templates/mailer/confirmation_sent.html msgid "Sent confirmation mail to" msgstr "Bestätigungsmail gesendet an" -#: mailer/templates/mailer/confirmation_sent.html:7 +#: mailer/templates/mailer/confirmation_sent.html msgid "Follow the link in your mail to confirm your unsubscription." msgstr "Folge dem Link in der Email, um die Abmeldung zu bestätigen." -#: mailer/templates/mailer/index.html:2 +#: mailer/templates/mailer/index.html msgid "This is the mailer app!" msgstr "Das ist die Mailer App!" -#: mailer/templates/mailer/send.html:2 +#: mailer/templates/mailer/send.html msgid "Here you can send new emails!" msgstr "Hier kannst du neue Emails verschicken!" -#: mailer/templates/mailer/send.html:11 +#: mailer/templates/mailer/send.html msgid "Subject:" msgstr "Betreff" -#: mailer/templates/mailer/send.html:14 +#: mailer/templates/mailer/send.html msgid "Content:" msgstr "Inhalt:" -#: mailer/templates/mailer/send.html:17 +#: mailer/templates/mailer/send.html msgid "Receiving group:" msgstr "Erhaltende Gruppe" -#: mailer/templates/mailer/send.html:24 +#: mailer/templates/mailer/send.html msgid "Send mail" msgstr "Email senden" -#: mailer/templates/mailer/subscribe.html:5 +#: mailer/templates/mailer/subscribe.html msgid "Here you can register yourself to the newsletter" msgstr "Hier kannst du dich für den Newsletter anmelden." -#: mailer/templates/mailer/subscribe.html:16 +#: mailer/templates/mailer/subscribe.html msgid "Prename" msgstr "Vorname" -#: mailer/templates/mailer/subscribe.html:21 +#: mailer/templates/mailer/subscribe.html msgid "Lastname" msgstr "Nachname" -#: mailer/templates/mailer/subscribe.html:26 mailer/views.py:60 +#: mailer/templates/mailer/subscribe.html mailer/views.py msgid "Birthdate" msgstr "Geburtsdatum" -#: mailer/templates/mailer/subscribe.html:37 -#: mailer/templates/mailer/unsubscribe.html:20 +#: mailer/templates/mailer/subscribe.html +#: mailer/templates/mailer/unsubscribe.html msgid "Email address" msgstr "Email-Adresse" -#: mailer/templates/mailer/subscribe.html:42 +#: mailer/templates/mailer/subscribe.html msgid "Register" msgstr "Registrieren" -#: mailer/templates/mailer/subscribed.html:3 +#: mailer/templates/mailer/subscribed.html msgid "Subscribed successfully" msgstr "Erfolgreich angemeldet" -#: mailer/templates/mailer/unsubscribe.html:9 +#: mailer/templates/mailer/unsubscribe.html msgid "Here you can unsubscribe from the newsletter" msgstr "Hier kannst du dich vom Newsletter abmelden" -#: mailer/templates/mailer/unsubscribed.html:8 +#: mailer/templates/mailer/unsubscribed.html msgid "Successfully unsubscribed from the newsletter for " msgstr "Newsletter erfolgreich abbestellt für " -#: mailer/views.py:36 +#: mailer/views.py msgid "Can't verify this link. Try again!" msgstr "Ungültiger Link. Bitte nochmal versuchen!" -#: mailer/views.py:48 +#: mailer/views.py msgid "Please fill in every field" msgstr "Bitte jedes Feld ausfüllen!" -#: mailer/views.py:50 +#: mailer/views.py msgid "Unsubscription confirmation" msgstr "Abmeldebestätigung" -#: mailer/views.py:83 +#: mailer/views.py msgid "Please fill in every field!" msgstr "Bitte jedes Feld ausfüllen!" -#: mailer/views.py:90 +#: mailer/views.py msgid "Member already exists" msgstr "Mitglied schon vorhanden" diff --git a/jdav_web/material/locale/de/LC_MESSAGES/django.po b/jdav_web/material/locale/de/LC_MESSAGES/django.po index 12557af..c438219 100644 --- a/jdav_web/material/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/material/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-01 16:23+0100\n" +"POT-Creation-Date: 2025-01-01 21:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,95 +18,95 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: material/admin.py:29 +#: material/admin.py msgid "Age" msgstr "Alter" -#: material/admin.py:34 +#: material/admin.py msgid "Not too old" msgstr "Nicht zu alt" -#: material/admin.py:35 +#: material/admin.py msgid "Too old" msgstr "Zu alt" -#: material/apps.py:7 +#: material/apps.py msgid "material" msgstr "Material" -#: material/models.py:16 +#: material/models.py msgid "Name" msgstr "Name" -#: material/models.py:22 material/models.py:39 +#: material/models.py msgid "Material category" msgstr "Materialtyp" -#: material/models.py:23 +#: material/models.py msgid "Material categories" msgstr "Materialtypen" -#: material/models.py:32 +#: material/models.py msgid "name" msgstr "Name" -#: material/models.py:33 +#: material/models.py msgid "description" msgstr "Beschreibung" -#: material/models.py:34 +#: material/models.py msgid "quantity" msgstr "Anzahl" -#: material/models.py:35 +#: material/models.py msgid "purchase date" msgstr "Kaufdatum" -#: material/models.py:36 +#: material/models.py msgid "lifetime (years)" msgstr "Lebenszeit (Jahre)" -#: material/models.py:37 +#: material/models.py msgid "photo" msgstr "Bild" -#: material/models.py:50 +#: material/models.py msgid "Quantity" msgstr "Anzahl" -#: material/models.py:57 +#: material/models.py msgid "Thumbnail" msgstr "Bild" -#: material/models.py:64 +#: material/models.py msgid "Owners" msgstr "Verantwortliche" -#: material/models.py:74 +#: material/models.py msgid "Not too old?" msgstr "Nicht zu alt?" -#: material/models.py:77 +#: material/models.py msgid "material part" msgstr "Materialteil" -#: material/models.py:78 +#: material/models.py msgid "material parts" msgstr "Materialteile" -#: material/models.py:84 +#: material/models.py msgid "owner" msgstr "Besitzer" -#: material/models.py:85 +#: material/models.py msgid "count" msgstr "Anzahl" -#: material/models.py:92 +#: material/models.py msgid "ownership" msgstr "Besitzer" -#: material/models.py:93 +#: material/models.py msgid "ownerships" msgstr "Verantwortliche" diff --git a/jdav_web/members/locale/de/LC_MESSAGES/django.po b/jdav_web/members/locale/de/LC_MESSAGES/django.po index d935096..9a00530 100644 --- a/jdav_web/members/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/members/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-01 21:26+0100\n" +"POT-Creation-Date: 2025-01-01 21:39+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,202 +18,200 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: members/admin.py:129 members/models.py:431 +#: members/admin.py members/models.py msgid "Registration complete" msgstr "Anmeldung vollständig" -#: members/admin.py:135 +#: members/admin.py msgid "True" msgstr "Ja" -#: members/admin.py:136 +#: members/admin.py msgid "False" msgstr "Nein" -#: members/admin.py:137 +#: members/admin.py msgid "All" msgstr "Alle" -#: members/admin.py:178 +#: members/admin.py msgid "The entered IBAN is not valid." msgstr "Die eingegebene IBAN ist ungültig." -#: members/admin.py:201 members/admin.py:432 +#: members/admin.py msgid "Contact information" msgstr "Kontaktinformationen" -#: members/admin.py:206 members/admin.py:437 +#: members/admin.py msgid "Skills" msgstr "Fähigkeiten" -#: members/admin.py:211 members/admin.py:442 +#: members/admin.py msgid "Others" msgstr "Sonstiges" -#: members/admin.py:217 members/admin.py:447 +#: members/admin.py msgid "Organizational" msgstr "Organisatorisches" -#: members/admin.py:300 +#: members/admin.py msgid "Compose new mail to selected members" msgstr "Neue Nachricht an ausgewählte Teilnehmer*innen verfassen" -#: members/admin.py:306 +#: members/admin.py msgid "Echo required" msgstr "Rückmeldung erforderlich" -#: members/admin.py:308 +#: members/admin.py msgid "Successfully requested echo from selected members." msgstr "" "Rückmeldungsaufforderung erfolgreich an ausgewählte Teilnehmer*innen " "verschickt." -#: members/admin.py:309 +#: members/admin.py msgid "Request echo from selected members" msgstr "Rückmeldungsaufforderung an ausgewählte Teilnehmer*innen verschicken" -#: members/admin.py:318 +#: members/admin.py #, python-format msgid "%(name)s does not have a DAV360 email address or is already registered." msgstr "%(name)s hat keine DAV360 E-Mail Adresse oder ist bereits registriert." -#: members/admin.py:320 +#: members/admin.py #, python-format msgid "Successfully invited %(name)s as user." msgstr "Erfolgreich %(name)s aufgefordert Zugangsdaten zu wählen." -#: members/admin.py:322 +#: members/admin.py msgid "Successfully invited selected members to join as users." msgstr "" "Erfolgreich ausgewählte Teilnehmer*innen aufgefordert Zugangsdaten zu wählen." -#: members/admin.py:324 +#: members/admin.py msgid "Some members have been invited, others could not be invited." msgstr "" "Manche Teilnehmer*innen wurden eingeladen, andere konnten nicht eingeladen " "werden." -#: members/admin.py:331 members/admin.py:348 +#: members/admin.py msgid "Permission denied." msgstr "Fehlende Berechtigungen." -#: members/admin.py:338 members/admin.py:372 -#: members/templates/admin/invite_as_user.html:21 +#: members/admin.py members/templates/admin/invite_as_user.html msgid "Invite as user" msgstr "Kompass Zugangsdaten wählen lassen" -#: members/admin.py:343 +#: members/admin.py msgid "Invite selected members to join Kompass as users." msgstr "Ausgewählte Teilnehmer*innen Kompass Zugangsdaten wählen lassen." -#: members/admin.py:354 +#: members/admin.py msgid "Member not found." msgstr "Teilnehmer*in nicht gefunden." -#: members/admin.py:358 +#: members/admin.py #, python-format msgid "%(name)s already has login data." msgstr "%(name)s hat schon Zugangsdaten." -#: members/admin.py:363 +#: members/admin.py #, python-format msgid "The configured email address for %(name)s is not an internal one." msgstr "Die für %(name)s eingestellte E-Mail Adresse ist keine DAV360 Adresse." -#: members/admin.py:377 +#: members/admin.py #, python-format msgid "%(name)s already has a pending invitation as user." msgstr "" "%(name)s hat bereits eine ausstehende Aufforderung Zugangsdaten zu wählen." -#: members/admin.py:395 +#: members/admin.py msgid "activity" msgstr "Aktivität" -#: members/admin.py:405 members/models.py:56 members/models.py:1585 +#: members/admin.py members/models.py msgid "Name" msgstr "Name" -#: members/admin.py:496 +#: members/admin.py msgid "Successfully requested mail confirmation from selected registrations." msgstr "Aufforderung zur Bestätigung der Email Adresse versendet." -#: members/admin.py:497 +#: members/admin.py msgid "Request mail confirmation from selected registrations" msgstr "Aufforderung zur Bestätigung der Email Adresse versenden" -#: members/admin.py:504 members/admin.py:569 +#: members/admin.py #, python-format msgid "Successfully confirmed %(name)s." msgstr "Registrierung von %(name)s erfolgreich bestätigt." -#: members/admin.py:508 members/admin.py:572 +#: members/admin.py #, python-format msgid "Can't confirm. %(name)s has unconfirmed email addresses." msgstr "Bestätigung nicht möglich. %(name)s hat unbestätigte Emailadressen." -#: members/admin.py:513 +#: members/admin.py msgid "Successfully confirmed multiple registrations." msgstr "Erfolgreich mehrere Registrierungen bestätigt." -#: members/admin.py:515 +#: members/admin.py msgid "" "Failed to confirm some registrations because of unconfirmed email addresses." msgstr "" "Einige Bestätigungen fehlgeschlagen, weil Emailadressen noch nicht bestätigt " "sind." -#: members/admin.py:516 +#: members/admin.py msgid "Confirm selected registrations" msgstr "Ausgewählte Registrierungen bestätigen" -#: members/admin.py:539 +#: members/admin.py msgid "Demote selected registrations to waiters." msgstr "Ausgewählte Registrierungen zurück auf die Warteliste setzen." -#: members/admin.py:555 +#: members/admin.py msgid "Demote member to waiter" msgstr "Ausgewählte Registrierung zurück auf die Warteliste setzen." -#: members/admin.py:564 +#: members/admin.py #, python-format msgid "Successfully demoted %(name)s to waiter." msgstr "%(name)s zurück auf die Warteliste gesetzt." -#: members/admin.py:579 members/models.py:438 members/models.py:841 -#: members/models.py:1330 +#: members/admin.py members/models.py msgid "Group" msgstr "Gruppe" -#: members/admin.py:584 +#: members/admin.py msgid "Invitation text" msgstr "Einladungstext" -#: members/admin.py:600 +#: members/admin.py msgid "Pending group invitation for group" msgstr "Ausstehende Gruppeneinladung für Gruppe" -#: members/admin.py:633 +#: members/admin.py #, python-format msgid "Successfully asked %(name)s to confirm their waiting status." msgstr "Erfolgreich %(name)s aufgefordert den Wartelistenplatz zu bestätigen." -#: members/admin.py:634 +#: members/admin.py msgid "Ask selected waiters to confirm their waiting status" msgstr "Wartende auffordern den Wartelistenplatz zu bestätigen" -#: members/admin.py:669 +#: members/admin.py msgid "Offer waiter a place in a group." msgstr "Personen auf der Warteliste einen Gruppenplatz anbieten." -#: members/admin.py:686 members/admin.py:714 +#: members/admin.py msgid "" "An error occurred while trying to invite said members. Please try again." msgstr "" "Beim Einladen dieser Personen ist ein Fehler aufgetreten. Bitte versuche es " "nochmal. " -#: members/admin.py:691 +#: members/admin.py msgid "" "The selected group does not have a contact email. Please first set a contact " "email and then try again." @@ -221,39 +219,39 @@ msgstr "" "Die ausgewählte Gruppe hat keine Kontakt E-Mail Adresse. Bitte stelle eine " "Kontakt E-Mail Adresse ein und versuche es erneut." -#: members/admin.py:694 members/admin.py:728 +#: members/admin.py msgid "Select group for invitation" msgstr "Wähle Gruppe für Einladung aus" -#: members/admin.py:719 +#: members/admin.py #, python-format msgid "Successfully invited %(name)s to %(group)s." msgstr "Erfolgreich %(name)s zu Gruppe %(group)s eingeladen." -#: members/admin.py:748 members/models.py:72 +#: members/admin.py members/models.py msgid "name" msgstr "Name" -#: members/admin.py:749 +#: members/admin.py msgid "" "The group name may only consist of letters, numerals, _, -, :, * and spaces." msgstr "" "Der Gruppenname darf nur aus Buchstaben, Zahlen, _, -, :, * oder Leerzeichen " "bestehen." -#: members/admin.py:778 +#: members/admin.py msgid "Difficulty" msgstr "Schwierigkeit" -#: members/admin.py:781 +#: members/admin.py msgid "Tour type" msgstr "Art der Tour" -#: members/admin.py:784 members/models.py:1061 +#: members/admin.py members/models.py msgid "Means of transportation" msgstr "Verkehrsmittel" -#: members/admin.py:811 +#: members/admin.py msgid "" "Please list here all expenses in relation with this excursion and upload " "relevant bills. These have to be permanently stored for the application of " @@ -266,7 +264,7 @@ msgstr "" "einzelnen Posten wird dabei auf der LJP-Kostenübersicht angezeigt (sinnvoll " "wären z.B. Anreise, Verpflegung, Material etc.)." -#: members/admin.py:829 +#: members/admin.py msgid "" "Here you can work on a seminar report for applying for financial " "contributions from Landesjugendplan (LJP). More information on creating a " @@ -279,7 +277,7 @@ msgstr "" "wahlweise nur TN-Liste und Kostenübersicht kannst du anschließend " "herunterladen." -#: members/admin.py:837 +#: members/admin.py msgid "" "Please list all participants (also youth leaders) of this excursion. Here " "you can still make changes just before departure and hence generate the " @@ -290,34 +288,34 @@ msgstr "" "jederzeit die aktuelle Teilnehmer*innenliste für die Krisenintervention " "generieren." -#: members/admin.py:883 +#: members/admin.py #, python-format msgid "You are not allowed to view all members on note list %(name)s." msgstr "" "Du hast nicht die nötigen Rechte um alle Teilnehmer*innen der Notizliste " "%(name)s anzusehen." -#: members/admin.py:893 +#: members/admin.py msgid "Generate PDF summary" msgstr "Übersicht erstellen" -#: members/admin.py:897 +#: members/admin.py msgid "Full report" msgstr "Vollständiger Seminarbericht" -#: members/admin.py:898 +#: members/admin.py msgid "Costs and participants only" msgstr "Nur Kosten und Teilnehmende" -#: members/admin.py:899 +#: members/admin.py msgid "Mode" msgstr "Modus" -#: members/admin.py:900 +#: members/admin.py msgid "Prepend V32" msgstr "V32 Formblatt einfügen" -#: members/admin.py:916 +#: members/admin.py msgid "" "General information on your excursion. These are partly relevant for the " "amount of financial compensation (means of transport, travel distance, etc.)." @@ -326,48 +324,47 @@ msgstr "" "teilweise relevant für die Zuschüsse aus dem Jugendetat (Verkehrsmittel, " "Fahrstrecke in km)." -#: members/admin.py:946 +#: members/admin.py #, python-format msgid "You are not allowed to view all members on excursion %(name)s." msgstr "" "Du hast nicht die nötigen Rechte um alle Teilnehmer*innen der Ausfahrt " "%(name)s anzusehen." -#: members/admin.py:954 +#: members/admin.py msgid "Generate crisis intervention list" msgstr "Kriseninterventionsliste erstellen" -#: members/admin.py:962 +#: members/admin.py msgid "Generate overview" msgstr "Hinweise für Jugendleiter erstellen" -#: members/admin.py:966 members/admin.py:998 -#: members/templates/admin/generate_seminar_report.html:21 +#: members/admin.py members/templates/admin/generate_seminar_report.html msgid "Generate seminar report" msgstr "Landesjugendplan Antrag erstellen" -#: members/admin.py:979 +#: members/admin.py msgid "Please select a mode." msgstr "Bitte wähle einen Modus aus." -#: members/admin.py:984 +#: members/admin.py msgid "" "Full mode is only available, if the seminar report section is filled out." msgstr "" "Der vollständiger Modus ist nur verfügbar, wenn der Seminarbericht " "ausgefüllt ist. " -#: members/admin.py:1010 +#: members/admin.py msgid "Generate SJR application" msgstr "SJR Antrag erstellen" -#: members/admin.py:1014 +#: members/admin.py msgid "No statement found. Please add a statement and then retry." msgstr "" "Keine Abrechnung angelegt. Bitte lege eine Abrechnung and und versuche es " "erneut." -#: members/admin.py:1018 +#: members/admin.py msgid "" "Successfully submited statement. The finance department will notify you as " "soon as possible." @@ -375,257 +372,255 @@ msgstr "" "Abrechnung erfolgreich eingericht. Die Finanzabteilung wird sich bei dir so " "schnell wie möglich melden." -#: members/admin.py:1021 -#: members/templates/admin/freizeit_finance_overview.html:21 +#: members/admin.py members/templates/admin/freizeit_finance_overview.html msgid "Finance overview" msgstr "Kostenübersicht" -#: members/apps.py:7 +#: members/apps.py msgid "member administration" msgstr "Teilnehmer*innenverwaltung" -#: members/models.py:42 +#: members/models.py msgid "Monday" msgstr "Montag" -#: members/models.py:43 +#: members/models.py msgid "Tuesday" msgstr "Dienstag" -#: members/models.py:44 +#: members/models.py msgid "Wednesday" msgstr "Mittwoch" -#: members/models.py:45 +#: members/models.py msgid "Thursday" msgstr "Donnerstag" -#: members/models.py:46 +#: members/models.py msgid "Friday" msgstr "Freitag" -#: members/models.py:47 +#: members/models.py msgid "Saturday" msgstr "Samstag" -#: members/models.py:48 +#: members/models.py msgid "Sunday" msgstr "Sonntag" -#: members/models.py:57 members/models.py:1047 +#: members/models.py msgid "Description" msgstr "Beschreibung" -#: members/models.py:63 members/models.py:1039 -#: members/templates/members/change_member.html:18 +#: members/models.py members/templates/members/change_member.html msgid "Activity" msgstr "Aktivität" -#: members/models.py:64 +#: members/models.py msgid "Activities" msgstr "Aktivitäten" -#: members/models.py:73 +#: members/models.py msgid "description" msgstr "Beschreibung" -#: members/models.py:74 +#: members/models.py msgid "show on website" msgstr "Auf der Webseite anzeigen" -#: members/models.py:75 +#: members/models.py msgid "lowest year" msgstr "Ab Jahrgang" -#: members/models.py:76 +#: members/models.py msgid "highest year" msgstr "Bis Jahrgang" -#: members/models.py:77 +#: members/models.py msgid "youth leaders" msgstr "Jugendleiter" -#: members/models.py:79 +#: members/models.py msgid "week day" msgstr "Wochentag" -#: members/models.py:80 members/models.py:1412 +#: members/models.py msgid "Starting time" msgstr "Zeitpunkt" -#: members/models.py:81 +#: members/models.py msgid "Ending time" msgstr "Endzeitpunkt" -#: members/models.py:83 +#: members/models.py msgid "Contact email" msgstr "Kontakt Email" -#: members/models.py:93 members/models.py:295 +#: members/models.py msgid "group" msgstr "Gruppe" -#: members/models.py:94 +#: members/models.py msgid "groups" msgstr "Gruppen" -#: members/models.py:128 +#: members/models.py msgid "prename" msgstr "Vorname" -#: members/models.py:129 +#: members/models.py msgid "last name" msgstr "Nachname" -#: members/models.py:132 +#: members/models.py msgid "Email confirmed" msgstr "Emailadresse bestätigt" -#: members/models.py:150 members/models.py:221 members/models.py:269 +#: members/models.py msgid "phone number" msgstr "Telefonnummer (mobil)" -#: members/models.py:181 +#: members/models.py msgid "Email confirmation needed" msgstr "Email Bestätigung erforderlich" -#: members/models.py:231 +#: members/models.py msgid "birth date" msgstr "Geburtsdatum" -#: members/models.py:236 +#: members/models.py msgid "Gender" msgstr "Gender" -#: members/models.py:237 +#: members/models.py msgid "comments" msgstr "Kommentare" -#: members/models.py:246 +#: members/models.py msgid "age" msgstr "Alter" -#: members/models.py:266 +#: members/models.py msgid "Alternative email confirmed" msgstr "Alternative E-Mail Adresse bestätigt" -#: members/models.py:270 +#: members/models.py msgid "street and house number" msgstr "Straße und Hausnummer" -#: members/models.py:271 +#: members/models.py msgid "Postcode" msgstr "PLZ" -#: members/models.py:273 +#: members/models.py msgid "town" msgstr "Stadt" -#: members/models.py:274 +#: members/models.py msgid "Address extra" msgstr "Adress-Zusatz" -#: members/models.py:275 +#: members/models.py msgid "Country" msgstr "Land" -#: members/models.py:277 +#: members/models.py msgid "Good conduct certificate presented on" msgstr "Führungszeugnis vorgelegt am" -#: members/models.py:278 +#: members/models.py msgid "Joined on" msgstr "Eintritt" -#: members/models.py:279 +#: members/models.py msgid "Left on" msgstr "Austritt" -#: members/models.py:280 +#: members/models.py msgid "Has key" msgstr "Hat Jugendraumschlüssel" -#: members/models.py:281 +#: members/models.py msgid "Has a free ticket for the climbing gym" msgstr "Hat Freikarte für Kletterhalle" -#: members/models.py:282 +#: members/models.py msgid "DAV badge number" msgstr "DAV Mitgliedsnummer" -#: members/models.py:283 +#: members/models.py msgid "Knows how to swim" msgstr "Kann schwimmen" -#: members/models.py:284 +#: members/models.py msgid "Climbing badge" msgstr "Kletterschein" -#: members/models.py:285 +#: members/models.py msgid "Alpine experience" msgstr "Alpine Erfahrung" -#: members/models.py:286 +#: members/models.py msgid "Allergies" msgstr "Allergieen" -#: members/models.py:287 +#: members/models.py msgid "Medication" msgstr "Medikamente" -#: members/models.py:288 +#: members/models.py msgid "Tetanus vaccination" msgstr "Tetanusimpfung" -#: members/models.py:289 +#: members/models.py msgid "Photos may be taken" msgstr "Fotoerlaubnis" -#: members/models.py:290 +#: members/models.py msgid "Legal guardians" msgstr "Erziehungsberechtigte" -#: members/models.py:292 +#: members/models.py msgid "May cancel a group appointment independently" msgstr "Darf sich allein von der Gruppenstunde abmelden" -#: members/models.py:299 +#: members/models.py msgid "receives newsletter" msgstr "Erhält den Newsletter" -#: members/models.py:303 +#: members/models.py msgid "created" msgstr "erstellt" -#: members/models.py:304 +#: members/models.py msgid "Active" msgstr "Aktiv" -#: members/models.py:305 +#: members/models.py msgid "registration form" msgstr "Anmeldeformular" -#: members/models.py:314 +#: members/models.py msgid "image" msgstr "Bild" -#: members/models.py:323 +#: members/models.py msgid "Echoed" msgstr "Rückgemeldet" -#: members/models.py:324 +#: members/models.py msgid "Confirmed" msgstr "Bestätigt" -#: members/models.py:326 +#: members/models.py msgid "Login data" msgstr "Zugangsdaten" -#: members/models.py:328 +#: members/models.py msgid "waitinglist application date" msgstr "Wartelistenbewerbungsdatum" -#: members/models.py:330 +#: members/models.py msgid "" "If the person registered from the waitinglist, this is their application " "date." @@ -633,390 +628,386 @@ msgstr "" "Falls sich die Person über die Warteliste angemeldet hat ist dies ihr " "Bewerbungsdatum." -#: members/models.py:359 +#: members/models.py msgid "Good conduct certificate valid" msgstr "Führungszeugnis gültig" -#: members/models.py:441 +#: members/models.py msgid "member" msgstr "Teilnehmer*in" -#: members/models.py:442 +#: members/models.py msgid "members" msgstr "Teilnehmer*innen" -#: members/models.py:520 +#: members/models.py msgid "Upload registration form" msgstr "Anmeldeformular hochladen" -#: members/models.py:531 +#: members/models.py #, python-format msgid "New unconfirmed registration for group %(group)s" msgstr "Neue unbestätigte Registrierung für Gruppe %(group)s" -#: members/models.py:757 +#: members/models.py msgid "Set login data for Kompass" msgstr "Zugangsdaten für Kompass wählen" -#: members/models.py:792 members/models.py:995 members/models.py:1006 -#: members/models.py:1361 members/models.py:1368 +#: members/models.py msgid "Member" msgstr "Teilnehmer*in" -#: members/models.py:799 +#: members/models.py msgid "Emergency contact" msgstr "Notfallkontakt" -#: members/models.py:800 +#: members/models.py msgid "Emergency contacts" msgstr "Notfallkontakte" -#: members/models.py:820 +#: members/models.py msgid "Unconfirmed registration" msgstr "Unbestätigte Registrierung" -#: members/models.py:821 +#: members/models.py msgid "Unconfirmed registrations" msgstr "Unbestätigte Registrierungen" -#: members/models.py:840 members/models.py:885 +#: members/models.py msgid "Waiter" msgstr "Wartende Person" -#: members/models.py:842 +#: members/models.py msgid "Invitation date" msgstr "Einladungsdatum" -#: members/models.py:843 members/templates/members/reject_success.html:6 -#: members/templates/members/reject_success.html:11 +#: members/models.py members/templates/members/reject_success.html msgid "Invitation rejected" msgstr "Einladung abgelehnt" -#: members/models.py:847 +#: members/models.py msgid "Invitation to group" msgstr "Gruppeneinladung" -#: members/models.py:848 +#: members/models.py msgid "Invitations to groups" msgstr "Gruppeneinladungen" -#: members/models.py:855 +#: members/models.py msgid "Rejected" msgstr "Abgelehnt" -#: members/models.py:857 +#: members/models.py msgid "Expired" msgstr "Abgelaufen" -#: members/models.py:859 +#: members/models.py msgid "Undecided" msgstr "Ausstehend" -#: members/models.py:860 +#: members/models.py msgid "Status" msgstr "Status" -#: members/models.py:871 +#: members/models.py msgid "Do you want to tell us something else?" msgstr "Möchtest du uns noch etwas mitteilen?" -#: members/models.py:872 +#: members/models.py msgid "application date" msgstr "Bewerbungsdatum" -#: members/models.py:874 +#: members/models.py msgid "Last wait confirmation" msgstr "Letzte Wartebestätigung" -#: members/models.py:878 +#: members/models.py msgid "Last reminder" msgstr "Letzte Erinnerung" -#: members/models.py:879 +#: members/models.py msgid "Missed reminders" msgstr "Verpasste Erinnerungen" -#: members/models.py:886 +#: members/models.py msgid "Waiters" msgstr "Warteliste" -#: members/models.py:901 +#: members/models.py msgid "Latest group invitation" msgstr "Letzte Gruppeneinladung" -#: members/models.py:918 +#: members/models.py msgid "Waiting status confirmed" msgstr "Wartelistenplatz bestätigt" -#: members/models.py:925 +#: members/models.py msgid "Waiting confirmation needed" msgstr "Wartelistenplatzbestätigung erforderlich" -#: members/models.py:978 +#: members/models.py msgid "Invitation to trial group meeting" msgstr "Einladung zu Schnupperstunde" -#: members/models.py:986 +#: members/models.py msgid "Unregistered from waiting list" msgstr "Von der Warteliste abgemeldet" -#: members/models.py:1000 +#: members/models.py msgid "Comment" msgstr "Kommentar" -#: members/models.py:1007 members/models.py:1369 +#: members/models.py msgid "Members" msgstr "Teilnehmer*innen" -#: members/models.py:1041 +#: members/models.py msgid "Place" msgstr "Stützpunkt / Ort" -#: members/models.py:1042 +#: members/models.py msgid "Destination (optional)" msgstr "ggf. Ziel" -#: members/models.py:1044 +#: members/models.py msgid "e.g. a peak" msgstr "z.B. ein Gipfel" -#: members/models.py:1045 +#: members/models.py msgid "Begin" msgstr "Anfang" -#: members/models.py:1046 +#: members/models.py msgid "End (optional)" msgstr "Ende" -#: members/models.py:1049 +#: members/models.py msgid "Groups" msgstr "Gruppen" -#: members/models.py:1062 +#: members/models.py msgid "Kilometers traveled" msgstr "Fahrstrecke in Kilometer" -#: members/models.py:1065 +#: members/models.py msgid "Categories" msgstr "Kategorien" -#: members/models.py:1066 +#: members/models.py msgid "easy" msgstr "leicht" -#: members/models.py:1066 +#: members/models.py msgid "medium" msgstr "mittel" -#: members/models.py:1066 +#: members/models.py msgid "hard" msgstr "schwer" -#: members/models.py:1076 members/models.py:1392 -#: members/templates/admin/freizeit_finance_overview.html:26 +#: members/models.py members/templates/admin/freizeit_finance_overview.html msgid "Excursion" msgstr "Ausfahrt" -#: members/models.py:1077 +#: members/models.py msgid "Excursions" msgstr "Ausfahrten" -#: members/models.py:1307 members/models.py:1383 members/models.py:1599 +#: members/models.py msgid "Title" msgstr "Titel" -#: members/models.py:1308 members/models.py:1326 members/models.py:1600 +#: members/models.py msgid "Date" msgstr "Datum" -#: members/models.py:1327 +#: members/models.py msgid "Location" msgstr "Ort" -#: members/models.py:1328 +#: members/models.py msgid "Topic" msgstr "Thema" -#: members/models.py:1352 +#: members/models.py msgid "Jugendleiter" msgstr "Jugendleiter" -#: members/models.py:1355 +#: members/models.py msgid "Klettertreff" msgstr "Klettertreff" -#: members/models.py:1356 +#: members/models.py msgid "Klettertreffs" msgstr "Klettertreffs" -#: members/models.py:1374 +#: members/models.py msgid "Password" msgstr "Passwort" -#: members/models.py:1377 +#: members/models.py msgid "registration password" msgstr "Registrierungspassort" -#: members/models.py:1378 +#: members/models.py msgid "registration passwords" msgstr "Registrierungspasswörter" -#: members/models.py:1385 +#: members/models.py msgid "Alpinistic goals" msgstr "Alpintechnische Ziele" -#: members/models.py:1386 +#: members/models.py msgid "Pedagogic goals" msgstr "Pädagogische Ziele" -#: members/models.py:1387 +#: members/models.py msgid "Content and methods" msgstr "Inhalte und Methoden" -#: members/models.py:1388 +#: members/models.py msgid "Evaluation" msgstr "Wertung" -#: members/models.py:1389 +#: members/models.py msgid "Experiences and possible improvements" msgstr "Erfahrungen und Verbesserungsvorschläge" -#: members/models.py:1398 members/models.py:1419 +#: members/models.py msgid "LJP Proposal" msgstr "Seminarbericht" -#: members/models.py:1399 +#: members/models.py msgid "LJP Proposals" msgstr "Seminarberichte" -#: members/models.py:1413 +#: members/models.py msgid "Duration in hours" msgstr "Dauer in Stunden" -#: members/models.py:1416 +#: members/models.py msgid "Activity and method" msgstr "Art der Aktion inkl. Methode" -#: members/models.py:1424 +#: members/models.py msgid "Intervention" msgstr "Aktion" -#: members/models.py:1425 +#: members/models.py msgid "Interventions" msgstr "Aktionen" -#: members/models.py:1527 members/models.py:1557 +#: members/models.py msgid "May list members" msgstr "Darf folgende Teilnehmer*innen listen" -#: members/models.py:1529 members/models.py:1559 +#: members/models.py msgid "May view members" msgstr "Darf folgende Teilnehmer*innen anzeigen" -#: members/models.py:1531 members/models.py:1561 +#: members/models.py msgid "May change members" msgstr "Darf folgende Teilnehmer*innen ändern" -#: members/models.py:1533 members/models.py:1563 +#: members/models.py msgid "May delete members" msgstr "Darf folgende Teilnehmer*innen löschen" -#: members/models.py:1537 members/models.py:1567 +#: members/models.py msgid "May list members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen listen" -#: members/models.py:1539 members/models.py:1569 +#: members/models.py msgid "May view members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen anzeigen" -#: members/models.py:1541 members/models.py:1571 +#: members/models.py msgid "May change members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen ändern" -#: members/models.py:1543 members/models.py:1573 +#: members/models.py msgid "May delete members of groups" msgstr "Darf Teilnehmer*innen folgender Gruppen löschen" -#: members/models.py:1546 members/models.py:1547 members/models.py:1550 +#: members/models.py msgid "Permissions" msgstr "Berechtigungen" -#: members/models.py:1576 members/models.py:1577 members/models.py:1580 +#: members/models.py msgid "Group permissions" msgstr "Gruppenberechtigungen" -#: members/models.py:1586 +#: members/models.py msgid "Permission needed" msgstr "Freigabe erforderlich" -#: members/models.py:1589 +#: members/models.py msgid "Training category" msgstr "Fortbildungstyp" -#: members/models.py:1590 +#: members/models.py msgid "Training categories" msgstr "Fortbildungstypen" -#: members/models.py:1601 +#: members/models.py msgid "Category" msgstr "Kategorien" -#: members/models.py:1602 +#: members/models.py msgid "Comments" msgstr "Kommentar" -#: members/models.py:1603 +#: members/models.py msgid "Participated" msgstr "Teilgenommmen" -#: members/models.py:1604 +#: members/models.py msgid "Passed" msgstr "Bestanden" -#: members/models.py:1607 +#: members/models.py msgid "Training" msgstr "Fortbildung" -#: members/models.py:1608 +#: members/models.py msgid "Trainings" msgstr "Fortbildungen" -#: members/templates/admin/demote_to_waiter.html:17 -#: members/templates/admin/freizeit_finance_overview.html:17 -#: members/templates/admin/generate_seminar_report.html:17 -#: members/templates/admin/invite_as_user.html:17 -#: members/templates/admin/invite_for_group.html:17 -#: members/templates/admin/invite_for_group_text.html:17 -#: members/templates/admin/invite_selected_as_user.html:17 -#: members/templates/admin/invite_selected_for_group.html:17 +#: members/templates/admin/demote_to_waiter.html +#: members/templates/admin/freizeit_finance_overview.html +#: members/templates/admin/generate_seminar_report.html +#: members/templates/admin/invite_as_user.html +#: members/templates/admin/invite_for_group.html +#: members/templates/admin/invite_for_group_text.html +#: members/templates/admin/invite_selected_as_user.html +#: members/templates/admin/invite_selected_for_group.html msgid "Home" msgstr "Start" -#: members/templates/admin/demote_to_waiter.html:20 -#: members/templates/admin/demote_to_waiter.html:25 +#: members/templates/admin/demote_to_waiter.html msgid "Demote to waiter" msgstr "Zurück auf die Warteliste setzen" -#: members/templates/admin/demote_to_waiter.html:27 +#: members/templates/admin/demote_to_waiter.html msgid "" "Do you want to demote the following unconfirmed registrations to waiters?" msgstr "Möchtest du die folgenden Personen zurück auf die Warteliste setzen?" -#: members/templates/admin/demote_to_waiter.html:45 +#: members/templates/admin/demote_to_waiter.html msgid "Demote" msgstr "Zurück auf die Warteliste setzen" -#: members/templates/admin/demote_to_waiter.html:46 -#: members/templates/admin/freizeit_finance_overview.html:154 -#: members/templates/admin/generate_seminar_report.html:60 -#: members/templates/admin/invite_as_user.html:37 -#: members/templates/admin/invite_for_group.html:64 -#: members/templates/admin/invite_selected_as_user.html:49 -#: members/templates/admin/invite_selected_for_group.html:53 +#: members/templates/admin/demote_to_waiter.html +#: members/templates/admin/freizeit_finance_overview.html +#: members/templates/admin/generate_seminar_report.html +#: members/templates/admin/invite_as_user.html +#: members/templates/admin/invite_for_group.html +#: members/templates/admin/invite_selected_as_user.html +#: members/templates/admin/invite_selected_for_group.html msgid "Cancel" msgstr "Abbrechen" -#: members/templates/admin/freizeit_finance_overview.html:29 +#: members/templates/admin/freizeit_finance_overview.html msgid "" "\n" "Here you see an estimate on the expected costs and contributions by the " @@ -1027,36 +1018,34 @@ msgstr "" "Hier siehst du eine Schätzung der erwarteten Kosten und Zuschüsse. Dies ist " "kein garantierter Kostenplan.\n" -#: members/templates/admin/freizeit_finance_overview.html:34 -#: members/templates/admin/freizeit_finance_overview.html:100 +#: members/templates/admin/freizeit_finance_overview.html msgid "Expenses" msgstr "Ausgaben" -#: members/templates/admin/freizeit_finance_overview.html:35 +#: members/templates/admin/freizeit_finance_overview.html msgid "You listed the following expenses:" msgstr "Du hast die folgenden Ausgaben angegeben:" -#: members/templates/admin/freizeit_finance_overview.html:39 +#: members/templates/admin/freizeit_finance_overview.html msgid "Explanation" msgstr "Erklärung" -#: members/templates/admin/freizeit_finance_overview.html:40 +#: members/templates/admin/freizeit_finance_overview.html msgid "Amount" msgstr "Betrag" -#: members/templates/admin/freizeit_finance_overview.html:58 +#: members/templates/admin/freizeit_finance_overview.html #, python-format msgid "The total expected expenses are %(total_bills_theoretic)s €." msgstr "" "Insgesamt belaufen sich die geschätzten Ausgaben auf " "%(total_bills_theoretic)s €." -#: members/templates/admin/freizeit_finance_overview.html:60 -#: members/templates/admin/freizeit_finance_overview.html:108 +#: members/templates/admin/freizeit_finance_overview.html msgid "Contributions by the association" msgstr "Sektionszuschüsse" -#: members/templates/admin/freizeit_finance_overview.html:63 +#: members/templates/admin/freizeit_finance_overview.html #, python-format msgid "" "According to the contribution guidelines,\n" @@ -1065,7 +1054,7 @@ msgstr "" "Gemäß den Zuschussrichtlinien erhalten %(staff_count)s Jugendleiter*innen " "Zuschüsse. Jeweils sind das" -#: members/templates/admin/freizeit_finance_overview.html:69 +#: members/templates/admin/freizeit_finance_overview.html #, python-format msgid "" "%(nights)s nights for %(price_per_night)s€ per night making a total of " @@ -1074,7 +1063,7 @@ msgstr "" "%(nights)s Nächte zum Preis von %(price_per_night)s€ pro Nacht. Das ergibt " "eine Gesamtsumme von %(nights_per_yl)s€." -#: members/templates/admin/freizeit_finance_overview.html:72 +#: members/templates/admin/freizeit_finance_overview.html #, python-format msgid "" "%(duration)s days for %(allowance_per_day)s€ per day making a total of " @@ -1083,7 +1072,7 @@ msgstr "" "%(duration)s Tage für %(allowance_per_day)s€ pro Tag. Das ergibt eine " "Gesamtsumme von %(allowance_per_yl)s€." -#: members/templates/admin/freizeit_finance_overview.html:75 +#: members/templates/admin/freizeit_finance_overview.html #, python-format msgid "" "%(kilometers_traveled)s km by %(means_of_transport)s (%(euro_per_km)s € / " @@ -1092,7 +1081,7 @@ msgstr "" "%(kilometers_traveled)s km mit %(means_of_transport)s (%(euro_per_km)s€ / " "km). Das ergibt eine Gesamtsumme von %(transportation_per_yl)s€." -#: members/templates/admin/freizeit_finance_overview.html:80 +#: members/templates/admin/freizeit_finance_overview.html #, python-format msgid "" "In total these are contributions of %(total_per_yl)s€ times %(staff_count)s, " @@ -1101,11 +1090,11 @@ msgstr "" "Insgesamt sind das Kosten von %(total_per_yl)s€ mal %(staff_count)s, " "insgesamt also %(total_staff)s€." -#: members/templates/admin/freizeit_finance_overview.html:83 +#: members/templates/admin/freizeit_finance_overview.html msgid "LJP contributions" msgstr "LJP Zuschüsse" -#: members/templates/admin/freizeit_finance_overview.html:86 +#: members/templates/admin/freizeit_finance_overview.html #, python-format msgid "" "By submitting a seminar report, you may apply for LJP contributions. In this " @@ -1120,23 +1109,23 @@ msgstr "" "Gesamtausgaben erhalten. Das resultiert in einem Gesamtzuschuss von " "%(ljp_contributions)s€." -#: members/templates/admin/freizeit_finance_overview.html:91 +#: members/templates/admin/freizeit_finance_overview.html msgid "Summary" msgstr "Zusammenfassung" -#: members/templates/admin/freizeit_finance_overview.html:94 +#: members/templates/admin/freizeit_finance_overview.html msgid "This is the estimated cost and contribution summary:" msgstr "Das ist die geschätzte Kosten- und Zuschussübersicht." -#: members/templates/admin/freizeit_finance_overview.html:116 +#: members/templates/admin/freizeit_finance_overview.html msgid "Potential LJP contributions" msgstr "Mögliche LJP Zuschüsse" -#: members/templates/admin/freizeit_finance_overview.html:124 +#: members/templates/admin/freizeit_finance_overview.html msgid "Remaining costs" msgstr "Verbleibende Kosten" -#: members/templates/admin/freizeit_finance_overview.html:133 +#: members/templates/admin/freizeit_finance_overview.html msgid "" "Positive remaining costs indicate that the estimated costs exceed the " "estimated contributions, while negative\n" @@ -1147,7 +1136,7 @@ msgstr "" "geschätzten Zuschüsse übersteigen, während negative Kosten\n" " bedeuten, dass die geschätzten Zuschüsse die geschätzten Kosten übersteigen." -#: members/templates/admin/freizeit_finance_overview.html:137 +#: members/templates/admin/freizeit_finance_overview.html msgid "" "Note that this cost calculation expects you to apply for LJP contributions. " "On the\n" @@ -1157,11 +1146,11 @@ msgstr "" "beantragst. Auf der Hauptseite dieser Ausfahrt kannst du dir eine Vorlage " "und alle Formblätter für einen solchen Antrag erstellen lassen." -#: members/templates/admin/freizeit_finance_overview.html:142 +#: members/templates/admin/freizeit_finance_overview.html msgid "Submit statement" msgstr "Abrechnung einreichen" -#: members/templates/admin/freizeit_finance_overview.html:144 +#: members/templates/admin/freizeit_finance_overview.html msgid "" "Did you already complete this excursion? If yes, please check if all listed " "expenses are correct\n" @@ -1174,15 +1163,15 @@ msgstr "" "Finanzreferat ein. Wenn du fortschreitest sind keine weiteren Änderungen an " "der Abrechnung mehr möglich." -#: members/templates/admin/freizeit_finance_overview.html:153 +#: members/templates/admin/freizeit_finance_overview.html msgid "Submit" msgstr "Einreichen" -#: members/templates/admin/freizeit_finance_overview.html:158 +#: members/templates/admin/freizeit_finance_overview.html msgid "Statement submitted" msgstr "Abrechnung eingereicht" -#: members/templates/admin/freizeit_finance_overview.html:160 +#: members/templates/admin/freizeit_finance_overview.html msgid "" "The statement for this excursion was already submitted. The finance " "department is currently processing your\n" @@ -1192,12 +1181,12 @@ msgstr "" "Finanzreferat bearbeitet deine Abrechnung zur Zeit und kommt " "schnellstmöglich auf dich zurück." -#: members/templates/admin/freizeit_finance_overview.html:163 -#: members/templates/admin/invite_for_group_text.html:63 +#: members/templates/admin/freizeit_finance_overview.html +#: members/templates/admin/invite_for_group_text.html msgid "Back" msgstr "Zurück" -#: members/templates/admin/generate_seminar_report.html:27 +#: members/templates/admin/generate_seminar_report.html msgid "" "Here you can generate a seminar report suitable for the LJP. A report\n" "always contains a head page with the basic information on the seminar." @@ -1209,7 +1198,7 @@ msgstr "" "Teilnehemendenliste, eine Kostenübersicht und eine detaillierte didaktische " "Planung enthalten. " -#: members/templates/admin/generate_seminar_report.html:31 +#: members/templates/admin/generate_seminar_report.html msgid "" "Expenses with same short description are automatically summed up and shown " "as one expense in the\n" @@ -1218,7 +1207,7 @@ msgstr "" "In der Kostenübersicht werden Ausgaben mit der gleichen Kurzbeschreibung " "automatisch aufsummiert und zu einer Ausgabe zusammengefasst." -#: members/templates/admin/generate_seminar_report.html:36 +#: members/templates/admin/generate_seminar_report.html msgid "" "Full report: Include learning goals and a detailed, tabularized time " "schedule. This requires\n" @@ -1228,7 +1217,7 @@ msgstr "" "tabellierten Zeitplan dar. Dies benötigt, dass der Seminarbericht in der " "Ausfahrt ausgefüllt ist." -#: members/templates/admin/generate_seminar_report.html:40 +#: members/templates/admin/generate_seminar_report.html msgid "" "Costs and participants only: Only show a list of participants and costs. In " "this case you\n" @@ -1238,7 +1227,7 @@ msgstr "" "Kosten an. In diesem Fall musst du Lernziele und einen Zeitplan manuell " "hinzufügen." -#: members/templates/admin/generate_seminar_report.html:46 +#: members/templates/admin/generate_seminar_report.html msgid "You may also choose to include the V32 attachment." msgstr "" "Ein LJP Antrag benötigt immer ein Formblatt (in unserem Fall V32-1 " @@ -1246,11 +1235,11 @@ msgstr "" "vorausfüllen lassen und dem Antrag hinzufügen. Bitte fülle die verbleibenden " "Felder im Formblatt selbst aus und unterschreibe das PDF." -#: members/templates/admin/generate_seminar_report.html:59 +#: members/templates/admin/generate_seminar_report.html msgid "Generate" msgstr "Erstellen" -#: members/templates/admin/invite_as_user.html:27 +#: members/templates/admin/invite_as_user.html #, python-format msgid "" "Do you want to invite %(member)s to set their login data for Kompass? They " @@ -1263,42 +1252,42 @@ msgstr "" "%(member)s wird eine E-Mail mit einem Link erhalten, um, nach Eingabe eines " "der aktiven Registrierungspasswörter, Benutzername und Passwort zu setzen." -#: members/templates/admin/invite_as_user.html:36 -#: members/templates/admin/invite_for_group.html:63 -#: members/templates/admin/invite_selected_as_user.html:48 -#: members/templates/admin/invite_selected_for_group.html:52 +#: members/templates/admin/invite_as_user.html +#: members/templates/admin/invite_for_group.html +#: members/templates/admin/invite_selected_as_user.html +#: members/templates/admin/invite_selected_for_group.html msgid "Invite" msgstr "Einladen" -#: members/templates/admin/invite_for_group.html:23 -#: members/templates/admin/invite_for_group_text.html:23 +#: members/templates/admin/invite_for_group.html +#: members/templates/admin/invite_for_group_text.html msgid "Invite to group" msgstr "Zu Gruppe einladen" -#: members/templates/admin/invite_for_group.html:28 -#: members/templates/admin/invite_for_group_text.html:28 -#: members/templates/admin/invite_selected_for_group.html:25 +#: members/templates/admin/invite_for_group.html +#: members/templates/admin/invite_for_group_text.html +#: members/templates/admin/invite_selected_for_group.html msgid "Invite to a group" msgstr "Zu einer Gruppe einladen" -#: members/templates/admin/invite_for_group.html:31 +#: members/templates/admin/invite_for_group.html msgid "You are inviting:" msgstr "Du lädst die folgende Person ein:" -#: members/templates/admin/invite_for_group.html:33 +#: members/templates/admin/invite_for_group.html msgid "You are inviting the following waiters for registration:" msgstr "Du lädst die folgenden Wartenden zur Schnupperstunde ein:" -#: members/templates/admin/invite_for_group.html:48 +#: members/templates/admin/invite_for_group.html #, python-format msgid "Please choose the group that you want to invite %(waiter)s to." msgstr "Bitte wähle die Gruppe aus zu der du %(waiter)s einladen möchtest." -#: members/templates/admin/invite_for_group.html:50 +#: members/templates/admin/invite_for_group.html msgid "To which group do you want to invite these waiters?" msgstr "Zu welcher Gruppe möchtest du diese Wartenden einladen?" -#: members/templates/admin/invite_for_group_text.html:31 +#: members/templates/admin/invite_for_group_text.html #, python-format msgid "" "You are inviting the following waiter for registration in group %(group)s." @@ -1306,7 +1295,7 @@ msgstr "" "Du lädst den*die folgende Wartende*n zu einer Schnupperstunde in der Gruppe " "%(group)s ein:" -#: members/templates/admin/invite_for_group_text.html:33 +#: members/templates/admin/invite_for_group_text.html #, python-format msgid "" "You are inviting the following waiters for registration in group %(group)s." @@ -1314,7 +1303,7 @@ msgstr "" "Du lädst die folgenden Wartenden zu einer Schnupperstunde in der Gruppe " "%(group)s ein:" -#: members/templates/admin/invite_for_group_text.html:47 +#: members/templates/admin/invite_for_group_text.html #, python-brace-format msgid "" "The following text will be sent as an invitation email. The patterns\n" @@ -1327,19 +1316,19 @@ msgstr "" "durch personalisierte Daten ersetzt. Bitte passe den Text falls nötig an und " "schicke die Einladung anschließend ab." -#: members/templates/admin/invite_for_group_text.html:62 +#: members/templates/admin/invite_for_group_text.html msgid "Send" msgstr "Senden" -#: members/templates/admin/invite_selected_as_user.html:20 +#: members/templates/admin/invite_selected_as_user.html msgid "Invite multiple members as users" msgstr "Mehrere Teilnehmer*innen Zugangsdaten wählen lassen" -#: members/templates/admin/invite_selected_as_user.html:26 +#: members/templates/admin/invite_selected_as_user.html msgid "You selected the following members:" msgstr "Du hast die folgenden Teilnehmer*innen ausgewählt:" -#: members/templates/admin/invite_selected_as_user.html:38 +#: members/templates/admin/invite_selected_as_user.html msgid "" "Do you want to invite these members to set their login data for Kompass? " "They will\n" @@ -1352,77 +1341,75 @@ msgstr "" "eines der aktiven Registrierungspasswörter, Benutzername und Passwort zu " "setzen." -#: members/templates/admin/invite_selected_for_group.html:20 +#: members/templates/admin/invite_selected_for_group.html msgid "Invite multiple waiters" msgstr "Mehrere Wartende einladen" -#: members/templates/admin/invite_selected_for_group.html:27 +#: members/templates/admin/invite_selected_for_group.html msgid "You selected the following waiters:" msgstr "Du hast die folgenden Wartenden ausgewählt:" -#: members/templates/admin/invite_selected_for_group.html:40 +#: members/templates/admin/invite_selected_for_group.html msgid "Please choose the group you want these waiters to be invited for." msgstr "" "Bitte wähle die Gruppe aus zu der du die obigen Wartenden einladen möchtest." -#: members/templates/admin/klettertreff_overview.html:9 +#: members/templates/admin/klettertreff_overview.html msgid "date" msgstr "Datum" -#: members/templates/members/change_member.html:7 +#: members/templates/members/change_member.html msgid "Participations:" msgstr "Ausfahrtteilnahmen:" -#: members/templates/members/change_member.html:15 +#: members/templates/members/change_member.html msgid "Qualities:" msgstr "Fähigkeiten:" -#: members/templates/members/change_member.html:19 +#: members/templates/members/change_member.html msgid "Skill level" msgstr "Fähigkeitsniveau" -#: members/templates/members/change_member_unconfirmed.html:11 +#: members/templates/members/change_member_unconfirmed.html msgid "Save and confirm registration" msgstr "Speichern und Registrierung bestätigen" -#: members/templates/members/echo.html:6 members/templates/members/echo.html:13 -#: members/templates/members/echo_failed.html:10 -#: members/templates/members/echo_password.html:6 -#: members/templates/members/echo_password.html:11 -#: members/templates/members/echo_success.html:10 -#: members/templates/members/echo_wrong_password.html:6 -#: members/templates/members/echo_wrong_password.html:11 +#: members/templates/members/echo.html +#: members/templates/members/echo_failed.html +#: members/templates/members/echo_password.html +#: members/templates/members/echo_success.html +#: members/templates/members/echo_wrong_password.html msgid "Echo" msgstr "Rückmeldung" -#: members/templates/members/echo.html:15 +#: members/templates/members/echo.html msgid "Thanks for echoing back. Here is your current data:" msgstr "" "Vielen Dank, dass du dich rückmeldest. Hier siehst du deine aktuellen Daten. " "Falls sich etwas geändert hat, trage das bitte hier ein." -#: members/templates/members/echo_failed.html:5 +#: members/templates/members/echo_failed.html msgid "Echo failed" msgstr "Rückmeldung fehlgeschlagen" -#: members/templates/members/echo_failed.html:12 -#: members/templates/members/invited_registration_failed.html:12 +#: members/templates/members/echo_failed.html +#: members/templates/members/invited_registration_failed.html msgid "Something went wrong. The key you supplied is" msgstr "Etwas ist schief gegangen. Der verwendete Code ist" -#: members/templates/members/echo_failed.html:14 -#: members/templates/members/invited_registration_failed.html:14 -#: members/templates/members/register_failed.html:14 +#: members/templates/members/echo_failed.html +#: members/templates/members/invited_registration_failed.html +#: members/templates/members/register_failed.html msgid "If you think this is a mistake, please" msgstr "Wenn du denkst, dass das ein Fehler ist, " -#: members/templates/members/echo_failed.html:15 -#: members/templates/members/invited_registration_failed.html:14 -#: members/templates/members/register_failed.html:15 +#: members/templates/members/echo_failed.html +#: members/templates/members/invited_registration_failed.html +#: members/templates/members/register_failed.html msgid "contact us." msgstr "kontaktiere uns." -#: members/templates/members/echo_password.html:13 +#: members/templates/members/echo_password.html msgid "" "Thanks for echoing back. Please enter the password, which you can find in " "the email we sent you.\n" @@ -1430,63 +1417,61 @@ msgstr "" "Bitte gib dein Passwort ein. Weitere Informationen zur Rückmeldung findest " "du in der E-Mail.\n" -#: members/templates/members/echo_password.html:24 -#: members/templates/members/register_password.html:22 -#: members/templates/members/register_waiting_list.html:39 +#: members/templates/members/echo_password.html +#: members/templates/members/register_password.html +#: members/templates/members/register_waiting_list.html msgid "submit" msgstr "Bestätigen" -#: members/templates/members/echo_success.html:5 +#: members/templates/members/echo_success.html msgid "Echo successful" msgstr "Rückmeldung erfolgreich" -#: members/templates/members/echo_success.html:12 +#: members/templates/members/echo_success.html msgid "Thank you" msgstr "Danke" -#: members/templates/members/echo_success.html:12 +#: members/templates/members/echo_success.html msgid "Your data was successfully updated." msgstr "Deine Daten wurden erfolgreich aktualisiert." -#: members/templates/members/echo_wrong_password.html:13 +#: members/templates/members/echo_wrong_password.html msgid "You entered a wrong password to often." msgstr "" "Du hast zu oft ein falsches Passwort eingegeben. Bitte frage deinen " "Jugendleiter nach einem korrekten Passwort." -#: members/templates/members/invited_registration_failed.html:5 -#: members/templates/members/register_failed.html:5 +#: members/templates/members/invited_registration_failed.html +#: members/templates/members/register_failed.html msgid "Registration failed" msgstr "Registrierung fehlgeschlagen" -#: members/templates/members/invited_registration_failed.html:10 -#: members/templates/members/register.html:6 -#: members/templates/members/register_failed.html:10 -#: members/templates/members/register_password.html:6 -#: members/templates/members/register_success.html:6 -#: members/templates/members/register_wrong_password.html:6 -#: members/templates/members/upload_registration_form.html:6 -#: members/templates/members/upload_registration_form_invalid.html:6 -#: members/templates/members/upload_registration_form_success.html:6 +#: members/templates/members/invited_registration_failed.html +#: members/templates/members/register.html +#: members/templates/members/register_failed.html +#: members/templates/members/register_password.html +#: members/templates/members/register_success.html +#: members/templates/members/register_wrong_password.html +#: members/templates/members/upload_registration_form.html +#: members/templates/members/upload_registration_form_invalid.html +#: members/templates/members/upload_registration_form_success.html msgid "Registration" msgstr "Registrierung" -#: members/templates/members/mail_confirmation_invalid.html:6 -#: members/templates/members/mail_confirmation_invalid.html:11 +#: members/templates/members/mail_confirmation_invalid.html msgid "Mail confirmation failed" msgstr "Emailbestätigung fehlgeschlagen" -#: members/templates/members/mail_confirmation_invalid.html:13 -#: members/templates/members/waiting_confirmation_invalid.html:19 +#: members/templates/members/mail_confirmation_invalid.html +#: members/templates/members/waiting_confirmation_invalid.html msgid "The supplied link is invalid." msgstr "Der verwendete Link ist ungültig." -#: members/templates/members/mail_confirmation_success.html:6 -#: members/templates/members/mail_confirmation_success.html:11 +#: members/templates/members/mail_confirmation_success.html msgid "Mail confirmed" msgstr "Emailadresse bestätigt" -#: members/templates/members/mail_confirmation_success.html:14 +#: members/templates/members/mail_confirmation_success.html #, python-format msgid "" "The email address %(email)s was successfully confirmed as parents email of " @@ -1495,7 +1480,7 @@ msgstr "" "Die Emailadresse %(email)s wurde erfolgreich als Emailadresse der Eltern von " "%(name)s bestätigt." -#: members/templates/members/mail_confirmation_success.html:17 +#: members/templates/members/mail_confirmation_success.html #, python-format msgid "" "The email address %(email)s was successfully confirmed as personal email of " @@ -1504,28 +1489,27 @@ msgstr "" "Die Emailadresse %(email)s wurde erfolgreich als persönliche Emailadresse " "von %(name)s bestätigt." -#: members/templates/members/member_form.html:13 +#: members/templates/members/member_form.html msgid "Emergency contacts:" msgstr "Notfallkontakte:" -#: members/templates/members/member_form.html:20 -#: members/templates/members/member_form.html:43 +#: members/templates/members/member_form.html msgid "Remove" msgstr "Entfernen" -#: members/templates/members/member_form.html:24 +#: members/templates/members/member_form.html msgid "Add more" msgstr "Weiteren hinzufügen" -#: members/templates/members/member_form.html:28 +#: members/templates/members/member_form.html #, python-format msgid "I am already or will become a member of the DAV %(sektion)s soon." msgstr "" "Ich bin bereits Mitglied der DAV %(sektion)s, oder beantrage die " "Mitgliedschaft zeitnah." -#: members/templates/members/member_form.html:30 -#: members/templates/members/register_waiting_list.html:36 +#: members/templates/members/member_form.html +#: members/templates/members/register_waiting_list.html #, python-format msgid "" "I agree that my data is stored and processed on the server of the JDAV " @@ -1534,33 +1518,33 @@ msgstr "" "Ich bin einverstanden, dass meine Daten auf dem Server der JDAV %(sektion)s " "gespeichert und verarbeitet werden." -#: members/templates/members/member_form.html:37 +#: members/templates/members/member_form.html msgid "Save" msgstr "Speichern" -#: members/templates/members/member_form.html:103 +#: members/templates/members/member_form.html msgid "This file is bigger than the maximal allowed file size of 5 MiB." msgstr "Diese Datei ist größer als die maximal erlaubte Dateigröße von 5 MiB." -#: members/templates/members/register.html:13 -#: members/templates/members/register_password.html:11 -#: members/templates/members/register_success.html:11 -#: members/templates/members/register_wrong_password.html:11 -#: members/templates/members/upload_registration_form.html:11 -#: members/templates/members/upload_registration_form_invalid.html:11 -#: members/templates/members/upload_registration_form_success.html:11 +#: members/templates/members/register.html +#: members/templates/members/register_password.html +#: members/templates/members/register_success.html +#: members/templates/members/register_wrong_password.html +#: members/templates/members/upload_registration_form.html +#: members/templates/members/upload_registration_form_invalid.html +#: members/templates/members/upload_registration_form_success.html msgid "Register" msgstr "Registrieren" -#: members/templates/members/register.html:15 +#: members/templates/members/register.html msgid "Here you can register for group" msgstr "Hier kannst du dich registrieren für die Gruppe" -#: members/templates/members/register_failed.html:12 +#: members/templates/members/register_failed.html msgid "Something went wrong while processing your registration." msgstr "Etwas ist schief gelaufen, bei der Verarbeitung deiner Registrierung." -#: members/templates/members/register_password.html:13 +#: members/templates/members/register_password.html #, python-format msgid "" "Thanks for your interest in participating in the JDAV %(sektion)s. Please " @@ -1569,7 +1553,7 @@ msgstr "" "Danke für dein Interesse bei der JDAV %(sektion)s teilzunehmen. Bitte gib " "das Passwort ein, das du von deinem Jugendleiter erhalten hast." -#: members/templates/members/register_success.html:13 +#: members/templates/members/register_success.html msgid "" "Your registration succeeded. We summarized your registration in this " "registration\n" @@ -1583,11 +1567,11 @@ msgstr "" "allgemeinen Teilnahmebedingungen. Falls du zustimmst,\n" "unterschreibe das Formular und lade hier einen Scan oder ein Bild hoch." -#: members/templates/members/register_success.html:18 +#: members/templates/members/register_success.html msgid "Please remember to confirm your email address." msgstr "Bitte denk daran, deine E-Mail Adresse(n) zu bestätigen." -#: members/templates/members/register_success.html:19 +#: members/templates/members/register_success.html msgid "" "The coordinating team will process your registration when your email address " "is confirmed." @@ -1595,55 +1579,52 @@ msgstr "" "Unser Jugendleiterteam wird deine Registrierung bearbeiten, wenn deine " "Emailadressen bestätigt sind." -#: members/templates/members/register_success.html:21 +#: members/templates/members/register_success.html msgid "" "The coordinating team will process your registration as soon as possible." msgstr "" "Unser Jugendleiterteam wird deine Registrierung so schnell wie möglich " "bearbeiten." -#: members/templates/members/register_waiting_list.html:6 +#: members/templates/members/register_waiting_list.html msgid "Registration for waiting list" msgstr "Registrierung für die Warteliste" -#: members/templates/members/register_waiting_list_success.html:6 -#: members/templates/members/register_waiting_list_success.html:11 +#: members/templates/members/register_waiting_list_success.html msgid "Registration for waiting list." msgstr "Registrierung für die Warteliste." -#: members/templates/members/register_waiting_list_success.html:13 +#: members/templates/members/register_waiting_list_success.html msgid "Your registration for the waiting list was successful." msgstr "Du wurdest auf die Warteliste gesetzt." -#: members/templates/members/register_waiting_list_success.html:14 +#: members/templates/members/register_waiting_list_success.html msgid "Please remember to confirm all email addresses that you entered." msgstr "Bitte denk daran, deine E-Mail Adresse(n) zu bestätigen." -#: members/templates/members/register_waiting_list_success.html:15 +#: members/templates/members/register_waiting_list_success.html msgid "We will notify you if there is a vacant place in one of our groups." msgstr "" "Wir werden dich umgehend benachrichtigen, wenn es einen freien Platz in " "einer unserer Gruppen gibt." -#: members/templates/members/register_wrong_password.html:13 +#: members/templates/members/register_wrong_password.html msgid "" "You entered a wrong password to often. Please ask your youth leader again." msgstr "" "Du hast zu oft ein falsches Passwort eingegeben. Bitte frage deinen " "Jugendleiter nach einem korrekten Passwort." -#: members/templates/members/reject_invalid.html:6 -#: members/templates/members/reject_invalid.html:11 -#: members/templates/members/reject_invitation.html:6 -#: members/templates/members/reject_invitation.html:11 +#: members/templates/members/reject_invalid.html +#: members/templates/members/reject_invitation.html msgid "Reject invitation" msgstr "Einladung ablehnen" -#: members/templates/members/reject_invalid.html:13 +#: members/templates/members/reject_invalid.html msgid "This invitation is invalid or expired." msgstr "Diese Einladung ist ungültig oder abgelaufen." -#: members/templates/members/reject_invitation.html:13 +#: members/templates/members/reject_invitation.html #, python-format msgid "" "You were invited to a trial group meeting of the group %(groupname)s. On " @@ -1653,7 +1634,7 @@ msgstr "" "Du wurdest zu einer Schnupperstunde in der Gruppe %(groupname)s eingeladen. " "Auf dieser Seite kannst du die Einladung ablehnen." -#: members/templates/members/reject_invitation.html:17 +#: members/templates/members/reject_invitation.html msgid "" "You may either reject this specific invitation, because\n" "the time of the group does not fit your calendear, or unregister from the " @@ -1663,15 +1644,15 @@ msgstr "" "Termin keine Zeit hast, oder dich ganz von der Warteliste abmelden. Achtung: " "Das kann nicht rückgängig gemacht werden!" -#: members/templates/members/reject_invitation.html:26 +#: members/templates/members/reject_invitation.html msgid "Reject this invitation and stay on the waitinglist" msgstr "Diese Einladung ablehnen und auf der Warteliste bleiben" -#: members/templates/members/reject_invitation.html:27 +#: members/templates/members/reject_invitation.html msgid "Leave the waitinglist" msgstr "Warteliste verlassen" -#: members/templates/members/reject_success.html:15 +#: members/templates/members/reject_success.html msgid "" "You successfully unregistered from the waitinglist. If you want to rejoin " "the waitinglist\n" @@ -1681,7 +1662,7 @@ msgstr "" "einem späteren Zeitpunkt wieder auf die Warteliste setzen lassen möchtest " "kannst du das auf unserer Webseite machen.\n" -#: members/templates/members/reject_success.html:19 +#: members/templates/members/reject_success.html #, python-format msgid "" "You successfully rejected the invitation to a trial group meeting of the " @@ -1693,7 +1674,7 @@ msgstr "" "abgelehnt. Wenn ein Platz in einer anderen Gruppe frei wird, erhältst du " "eine neue Einladung.\n" -#: members/templates/members/upload_registration_form.html:14 +#: members/templates/members/upload_registration_form.html #, python-format msgid "" "We summarized your registration in our registration\n" @@ -1707,7 +1688,7 @@ msgstr "" "zustimmst, unterschreibe bitte das Formular und lade hier einen Scan oder " "ein Bild hoch." -#: members/templates/members/upload_registration_form.html:19 +#: members/templates/members/upload_registration_form.html msgid "" "If you are not an adult yet, please let someone responsible for you sign the " "agreement." @@ -1715,15 +1696,15 @@ msgstr "" "Bist du noch nicht volljährig? Dann lass bitte eine erziehungsberechtigte " "Person das Anmeldeformular unterschreiben." -#: members/templates/members/upload_registration_form.html:30 +#: members/templates/members/upload_registration_form.html msgid "Upload" msgstr "Hochladen" -#: members/templates/members/upload_registration_form_invalid.html:13 +#: members/templates/members/upload_registration_form_invalid.html msgid "The supplied key for uploading a registration form is invalid." msgstr "Der verwendete Link zum Hochladen eines Anmeldeformulars ist ungültig." -#: members/templates/members/upload_registration_form_success.html:13 +#: members/templates/members/upload_registration_form_success.html msgid "" "Thank you for uploading the registration form. Our team will process your " "registration shortly." @@ -1731,12 +1712,11 @@ msgstr "" "Danke für das Hochladen des Anmeldeformulars. Unser Jugendleiterteam wird " "deine Registrierung so schnell wie möglich bearbeiten." -#: members/templates/members/waiting_confirmation_invalid.html:6 -#: members/templates/members/waiting_confirmation_invalid.html:11 +#: members/templates/members/waiting_confirmation_invalid.html msgid "Waiting confirmation failed" msgstr "Wartelistenplatzbestätigung fehlgeschlagen" -#: members/templates/members/waiting_confirmation_invalid.html:15 +#: members/templates/members/waiting_confirmation_invalid.html msgid "" "Unfortunately, you did not confirm your intention to stay on the waiting " "list in time. You lost your spot on the list. You can" @@ -1744,16 +1724,15 @@ msgstr "" "Leider hast du deinen Wartelistenplatz nicht rechtzeitig bestätigt und hast " "somit deinen Platz verloren. Du kannst" -#: members/templates/members/waiting_confirmation_invalid.html:16 +#: members/templates/members/waiting_confirmation_invalid.html msgid "rejoin the waiting list" msgstr "der Warteliste erneut beitreten" -#: members/templates/members/waiting_confirmation_success.html:6 -#: members/templates/members/waiting_confirmation_success.html:11 +#: members/templates/members/waiting_confirmation_success.html msgid "Waiting confirmed" msgstr "Wartelistenplatz bestätigt" -#: members/templates/members/waiting_confirmation_success.html:14 +#: members/templates/members/waiting_confirmation_success.html #, python-format msgid "" "Thank you %(prename)s for your interest in staying on the waiting list.\n" @@ -1762,7 +1741,7 @@ msgstr "" "Danke %(prename)s für dein Interesse auf der Warteliste zu bleiben.\n" "Dein Platz ist bereits bestätigt." -#: members/templates/members/waiting_confirmation_success.html:18 +#: members/templates/members/waiting_confirmation_success.html #, python-format msgid "" "Thank you %(prename)s for your interest in staying on the waiting list.\n" @@ -1771,41 +1750,40 @@ msgstr "" "Danke %(prename)s für dein Interesse auf der Warteliste zu bleiben.\n" "Dein Platz wurde bestätigt." -#: members/views.py:37 members/views.py:76 +#: members/views.py msgid "Prename of the member." msgstr "Vorname des Teilnehmenden" -#: members/views.py:38 members/views.py:77 +#: members/views.py msgid "Lastname of the member." msgstr "Nachname des Teilnehmenden" -#: members/views.py:39 +#: members/views.py msgid "phone number of child or parent" msgstr "Telefonnummer des Teilnehmenden oder einer Kontaktperson" -#: members/views.py:40 +#: members/views.py msgid "email of child if available, otherwise parental email address" msgstr "" "Falls verfügbar, E-Mailadresse des Teilnehmenden, sonst einer Kontaktperson" -#: members/views.py:41 +#: members/views.py msgid "optional additional email address" msgstr "Optionale zusätzliche E-Mailadresse" -#: members/views.py:114 members/views.py:203 +#: members/views.py msgid "The entered password is wrong." msgstr "Das eingegebene Passwort ist falsch." -#: members/views.py:149 members/views.py:155 members/views.py:163 -#: members/views.py:423 +#: members/views.py msgid "invalid" msgstr "ungültig" -#: members/views.py:166 members/views.py:425 +#: members/views.py msgid "expired" msgstr "abgelaufen" -#: members/views.py:175 +#: members/views.py msgid "Invalid emergency contacts" msgstr "Ungültige Notfallkontakte" diff --git a/jdav_web/startpage/locale/de/LC_MESSAGES/django.po b/jdav_web/startpage/locale/de/LC_MESSAGES/django.po index 4705c40..db3bb87 100644 --- a/jdav_web/startpage/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/startpage/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-04 00:04+0100\n" +"POT-Creation-Date: 2025-01-01 21:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,94 +18,93 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: startpage/admin.py:21 startpage/admin.py:36 startpage/models.py:18 -#: startpage/models.py:40 +#: startpage/admin.py startpage/models.py msgid "URL" msgstr "URL" -#: startpage/admin.py:22 startpage/admin.py:37 +#: startpage/admin.py msgid "The url may only consist of letters, numerals, _, -, :, * and spaces." msgstr "" "Die URL darf nur aus Buchstaben, Zahlen, _, -, :, * oder Leerzeichen " "bestehen." -#: startpage/models.py:17 startpage/models.py:39 +#: startpage/models.py msgid "Title" msgstr "Titel" -#: startpage/models.py:19 startpage/models.py:42 +#: startpage/models.py msgid "website text" msgstr "Webseitentext" -#: startpage/models.py:20 +#: startpage/models.py msgid "Show in navigation" msgstr "In Navigation anzeigen" -#: startpage/models.py:23 startpage/models.py:63 +#: startpage/models.py msgid "Section" msgstr "Abschnitt" -#: startpage/models.py:24 +#: startpage/models.py msgid "Sections" msgstr "Abschnitte" -#: startpage/models.py:41 +#: startpage/models.py msgid "Date" msgstr "Datum" -#: startpage/models.py:44 +#: startpage/models.py msgid "Groups" msgstr "Gruppen" -#: startpage/models.py:45 +#: startpage/models.py msgid "detailed" msgstr "detailliert" -#: startpage/models.py:47 +#: startpage/models.py msgid "section" msgstr "Abschnitt" -#: startpage/models.py:54 +#: startpage/models.py msgid "Post" msgstr "Eintrag" -#: startpage/models.py:55 +#: startpage/models.py msgid "Posts" msgstr "Einträge" -#: startpage/models.py:79 +#: startpage/models.py msgid "file" msgstr "Datei" -#: startpage/models.py:85 +#: startpage/models.py msgid "Empty" msgstr "Leer" -#: startpage/models.py:88 +#: startpage/models.py msgid "image" msgstr "Bild" -#: startpage/models.py:89 +#: startpage/models.py msgid "images" msgstr "Bilder" -#: startpage/models.py:96 startpage/models.py:97 +#: startpage/models.py msgid "Member" msgstr "Mitglied" -#: startpage/models.py:98 +#: startpage/models.py msgid "Description" msgstr "Beschreibung" -#: startpage/models.py:99 +#: startpage/models.py msgid "Tag" msgstr "Tag" -#: startpage/models.py:102 +#: startpage/models.py msgid "Person" msgstr "Person" -#: startpage/models.py:103 +#: startpage/models.py msgid "Persons" msgstr "Personen" From b0311dce800343ae7dba6f693458079a65469a59 Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Wed, 1 Jan 2025 22:52:35 +0100 Subject: [PATCH 08/10] members/admin: sort age in waiting list only by year Previously, the age column was sorted according to the birth date. This typically causes singleton grouping upon multi sort with age as the primary sorting key. A typical use case is sorting by age and application date. Now the age column is sorted only by the numerical year value, which causes the groups to be bigger. --- jdav_web/members/admin.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index 8b89c44..7c32ab6 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -23,7 +23,7 @@ from django.contrib.contenttypes.admin import GenericTabularInline from django.utils.html import format_html from django.utils.translation import gettext_lazy as _ from django.db.models import TextField, ManyToManyField, ForeignKey, Count,\ - Sum, Case, Q, F, When, Value, IntegerField, Subquery, OuterRef + Sum, Case, Q, F, When, Value, IntegerField, Subquery, OuterRef, ExpressionWrapper from django.forms import Textarea, RadioSelect, TypedChoiceField, CheckboxInput from django.shortcuts import render from django.core.exceptions import PermissionDenied, ValidationError @@ -625,6 +625,11 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): def has_add_permission(self, request, obj=None): return False + def age(self, obj): + return obj.birth_date_delta + age.short_description=_('age') + age.admin_order_field = 'birth_date_delta' + def ask_for_wait_confirmation(self, request, queryset): """Asks the waiting person to confirm their waiting status.""" for waiter in queryset: @@ -661,7 +666,15 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): return custom_urls + urls def get_queryset(self, request): - queryset = super().get_queryset(request) + now = timezone.now() + age_expr = ExpressionWrapper( + Case( + When(birth_date__month__gte=now.month, birth_date__day__gt=now.day, then=now.year - F('birth_date__year') - 1), + default=now.year - F('birth_date__year'), + ), + output_field=IntegerField() + ) + queryset = super().get_queryset(request).annotate(birth_date_delta=age_expr) return queryset.prefetch_related('invitationtogroup_set') def ask_for_registration_action(self, request, queryset): From afb38c118abe42109b38c57225426c78ea7f8ecf Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Sun, 5 Jan 2025 22:21:15 +0100 Subject: [PATCH 09/10] members/admin: add age list filter for waitinglist --- jdav_web/members/admin.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index 7c32ab6..ae3ed70 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -596,6 +596,20 @@ class InvitationToGroupAdmin(admin.TabularInline): return False +class AgeFilter(admin.SimpleListFilter): + title = _('Age') + parameter_name = 'age' + + def lookups(self, request, model_admin): + return [(n, str(n)) for n in range(101)] + + def queryset(self, request, queryset): + age = self.value() + if not age: + return queryset + return queryset.filter(birth_date_delta=age) + + class InvitedToGroupFilter(admin.SimpleListFilter): title = _('Pending group invitation for group') parameter_name = 'pending_group_invitation' @@ -617,7 +631,7 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): list_display = ('name', 'birth_date', 'age', 'gender', 'application_date', 'latest_group_invitation', 'confirmed_mail', 'waiting_confirmed', 'sent_reminders') search_fields = ('prename', 'lastname', 'email') - list_filter = ['confirmed_mail', 'gender', InvitedToGroupFilter] + list_filter = ['confirmed_mail', InvitedToGroupFilter, AgeFilter, 'gender'] actions = ['ask_for_registration_action', 'ask_for_wait_confirmation'] inlines = [InvitationToGroupAdmin] readonly_fields= ['application_date', 'sent_reminders'] From 35e565d0bd74f0ef641bc25651fefa348421bc59 Mon Sep 17 00:00:00 2001 From: Kasimir Uihlein Date: Thu, 9 Jan 2025 10:53:26 +0100 Subject: [PATCH 10/10] Update and enhance documentation (#100) - Move documentation from README into sphinx docs - change theme from alabaster to sphinxawsome-theme - split into technical and user documentation - restructure docs/ directories - update sphinx refs in user documentation - extend technical documentation with contributing page - create seed for more technical documentation (architecture, deployment, testing) Reviewed-on: https://git.jdav-hd.merten.dev/digitales/kompass/pulls/100 Reviewed-by: Christian Merten Co-authored-by: Kasimir Uihlein Co-committed-by: Kasimir Uihlein --- README.md | 106 ++++-------------- docs/source/_static/favicon.png | Bin 0 -> 48336 bytes docs/source/_static/favicon2.png | Bin 0 -> 49220 bytes docs/source/_static/jdav_logo.png | Bin 0 -> 255418 bytes docs/source/_static/jdav_logo_transparent.png | Bin 0 -> 256974 bytes docs/source/about.rst | 20 ++++ docs/source/conf.py | 47 +++++++- .../development_manual/architecture.rst | 7 ++ .../development_manual/contributing.rst | 85 ++++++++++++++ docs/source/development_manual/deployment.rst | 7 ++ docs/source/development_manual/index.rst | 42 +++++++ docs/source/development_manual/setup.rst | 101 +++++++++++++++++ docs/source/development_manual/testing.rst | 7 ++ docs/source/index.rst | 49 ++++---- docs/source/{ => user_manual}/excursions.rst | 6 +- docs/source/{ => user_manual}/finance.rst | 2 + docs/source/{ => user_manual}/getstarted.rst | 6 +- .../images/members_change_tabs.png | Bin .../images/members_changelist_action.png | Bin .../images/members_changelist_filters.png | Bin .../members_changelist_group_filter.png | Bin .../images/members_changelist_pages.png | Bin .../images/members_changelist_sorting.png | Bin .../images/members_registration_form.png | Bin ...embers_unconfirmed_registration_demote.png | Bin ...ers_waitinglist_change_invite_to_group.png | Bin ...tinglist_change_invite_to_group_button.png | Bin ...glist_change_invite_to_group_selection.png | Bin docs/source/user_manual/index.rst | 50 +++++++++ docs/source/{ => user_manual}/members.rst | 16 +-- docs/source/{ => user_manual}/waitinglist.rst | 4 +- requirements.txt | 2 +- 32 files changed, 427 insertions(+), 130 deletions(-) create mode 100644 docs/source/_static/favicon.png create mode 100644 docs/source/_static/favicon2.png create mode 100644 docs/source/_static/jdav_logo.png create mode 100644 docs/source/_static/jdav_logo_transparent.png create mode 100644 docs/source/about.rst create mode 100644 docs/source/development_manual/architecture.rst create mode 100644 docs/source/development_manual/contributing.rst create mode 100644 docs/source/development_manual/deployment.rst create mode 100644 docs/source/development_manual/index.rst create mode 100644 docs/source/development_manual/setup.rst create mode 100644 docs/source/development_manual/testing.rst rename docs/source/{ => user_manual}/excursions.rst (92%) rename docs/source/{ => user_manual}/finance.rst (91%) rename docs/source/{ => user_manual}/getstarted.rst (97%) rename docs/source/{ => user_manual}/images/members_change_tabs.png (100%) rename docs/source/{ => user_manual}/images/members_changelist_action.png (100%) rename docs/source/{ => user_manual}/images/members_changelist_filters.png (100%) rename docs/source/{ => user_manual}/images/members_changelist_group_filter.png (100%) rename docs/source/{ => user_manual}/images/members_changelist_pages.png (100%) rename docs/source/{ => user_manual}/images/members_changelist_sorting.png (100%) rename docs/source/{ => user_manual}/images/members_registration_form.png (100%) rename docs/source/{ => user_manual}/images/members_unconfirmed_registration_demote.png (100%) rename docs/source/{ => user_manual}/images/members_waitinglist_change_invite_to_group.png (100%) rename docs/source/{ => user_manual}/images/members_waitinglist_change_invite_to_group_button.png (100%) rename docs/source/{ => user_manual}/images/members_waitinglist_change_invite_to_group_selection.png (100%) create mode 100644 docs/source/user_manual/index.rst rename docs/source/{ => user_manual}/members.rst (94%) rename docs/source/{ => user_manual}/waitinglist.rst (98%) diff --git a/README.md b/README.md index 24d267a..e37f645 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# kompass +# jdav Kompass [![Build Status](https://jenkins.merten.dev/buildStatus/icon?job=gitea%2Fkompass%2Fmain)](https://jenkins.merten.dev/job/gitea/job/kompass/job/main/) @@ -13,94 +13,34 @@ Any form of contribution is appreciated. If you found a bug or have a feature re [issue](https://git.jdav-hd.merten.dev/digitales/kompass/issues). If you want to help with the documentation or want to contribute code, please open a [pull request](https://git.jdav-hd.merten.dev/digitales/kompass/pulls). -The following is a short description of the development setup and an explanation of the various -branches. +The following is a short description of where to find the documentation with more information. -## Development setup -The project is run with `docker` and all related files are in the `docker/` subfolder. Besides the actual Kompass -application, a database (postgresql) and a broker (redis) are setup and run in the docker container. No -external services are needed for running the development container. +# Documentation -### Initial installation +Documentation is handled by [sphinx](https://www.sphinx-doc.org/) and located in `docs/`. -A working `docker` setup (with `docker compose` support) is required. For installation instructions see the -[docker manual](https://docs.docker.com/engine/install/). +The sphinx documentation contains information about: +- Development Setup +- Architecture +- Testing +- Production Deployment +- End user documentation +- and much more... -1. Clone the repository and change into the directory of the repository. +> Please add all further documentation also in the sphinx documentation. And not in the readme -2. Fetch submodules - ```bash - git submodule update --init - ``` +## online +Online (latest release version): https://jdav-hd.de/static/docs/ -3. Prepare development environment: to allow automatic rebuilding upon changes in the source, - the owner of the `/app/jdav_web` directory in the docker container must agree with - your user. For this, make sure that the output of `echo UID` and `echo UID` is not empty. Then run - ```bash - export GID=${GID} - export UID=${UID} - ``` +## local +To read the documentation build it locally and view it in your browser: +```bash +cd docs/ +make html -4. Start docker - ```bash - cd docker/development - docker compose up - ``` - This runs the docker in your current shell, which is useful to see any log output. If you want to run - the development server in the background instead, use `docker compose up -d`. - - During the initial run, the container is built and all dependencies are installed which can take a few minutes. - After successful installation, the Kompass initialization runs, which in particular sets up all tables in the - database. - -5. Setup admin user: in a separate shell, while the docker container is running, run - ```bash - cd docker/development - docker compose exec master bash -c "cd jdav_web && python3 manage.py createsuperuser" - ``` - This creates an admin user for the administration interface. - -### Development - -If the initial installation was successful, you can start developing. Changes to files cause an automatic -reload of the development server. If you need to generate and perform database migrations or generate locale files, -use +# MacOS (with firefox) +open -a firefox $(pwd)/docs/build/html/index.html +# Linux (I guess?!?) +firefox ${pwd}/docs/build/html/index.html ``` -cd docker/development -docker compose exec master bash -cd jdav_web -``` -This starts a shell in the container, where you can execute any django maintenance commands via -`python3 manage.py `. For more information, see the [django documentation](https://docs.djangoproject.com/en/4.0/ref/django-admin). - -### Testing - -To run the tests, you can use the docker setup under `docker/test`. - -### Known Issues - -- If the `UID` and `GID` variables are not setup properly, you will encounter the following error message - after running `docker compose up`. - - ```bash - => ERROR [master 6/7] RUN groupadd -g fritze && useradd -g -u -m -d /app fritze 0.2s - ------ - > [master 6/7] RUN groupadd -g fritze && useradd -g -u -m -d /app fritze: - 0.141 groupadd: invalid group ID 'fritze' - ------ - failed to solve: process "/bin/sh -c groupadd -g $GID $USER && useradd -g $GID -u $UID -m -d /app $USER" did not complete successfully: exit code: 3 - ``` - In this case repeat step 3 above. - -## Organization and branches - -The stable development happens on the `main` branch for which only maintainers have write access. Any pull request -should hence be targeted at `main`. Regularly, the production instances are updated to the latest `main` version, -in particular these are considered to be stable. - -If you have standard write access to the repository, feel free to create new branches. To make organization -easier, please indicate your username in the branch name. - -The `testing` branch is deployed on the development instances. No development should happen there, this branch -is regularly reset to the `main` branch. diff --git a/docs/source/_static/favicon.png b/docs/source/_static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c8498b9d2a2bbc302b174959769f758d9949a4c2 GIT binary patch literal 48336 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 wq)KIi18=~rW@Gt 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

aF4DBBT7N0t#mTPYaM=UaQIL*SVd~ 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%0AO{Z&At*5+|q(b4!!w%dP68pe@kfq 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

Ua+K32O@&eaS19~6K`uIFV|i!uPgF$> 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 R~s9i;;y56x}-vLfpIdk1orkNO5I6coaroX zRIlj@t2LwbT|OGqezh|gNe)L(=Q76vnVPLEGq;lkZ6j7y*tr+669_`=;n-+gMpbK0 zIPprsYYCw*Lv;wEvKraZ(mCA3*%@?6e1`}wyj<4fxv^2Vy5F;;omNkZncO}kG(T=T zL(c4XROEG9}Jg#F^l&mquS#rSTNYM^a-81k!uE7O3HeV;AHnfx*hs;PPz!S62E) z$MtKE>!+*^>kYTI+^G+I?9AggDThm~6bgNS^^CeLC->e}xc+oO$jst6`^v^_$-*$R zdLsoJSgsD064Jkua>J&be%(AXSjamrS};d8&tzDaWdQG{2eg;0n%ybAaTe2sR!SQx zb{Hi3ymDHJP7oKCQDOVe;(fg4MM%-nFYvgaYUQRm+v^0K1P7@{Too^HxbbaoL zc5HQIzEHp520kJ1!Ef)5EoeA6+jPcojJ3 zCL<{`kQ%c1+G?irylCQirvYX38pzLOSY}e@fLQ2crB#2}{I{+aXWaTY#yM#0SgF2# zLfks~Sy}YB&DhwOzAgkZxf1@&V_#nE9mBINPd>bQ!q~7_(1LrA`;}+*NHH&Nw83zWpI$^)Oud*7aVAtqn!K$) zFzjI*;<}7~WPYgb>T#UJ%3-;zRR2)?vz3h#aS1R|{jrDBC4u*ZL3tGV;weJ?QYJ2% zo7f@Y{y-}$cJa%~Oz*zFvcS2+r_Mj9Ybj2U%gV>UkjqL)dp2SDXaoq5S z0rdUxb1)G2)9=9k`0woT@1tvASo&u;vl)B*34V29lNi6K@QVr@q4>oMzj)ynFK{UE zix)VQ_@x(q@xm`&;85WI8!uRop~3W-t=rEU|6%hl4gP;w)2rbt{>qz!KhiJ|v@iJm zfqw|$a^Szamco1g-E+{-{CCsh_4|LfMVeq{#?K%D=HdJV5%K@svecaV@1EyZ^FI*_ y_(lAmsqu^Tex}AR!TXsSztqmp)cC(D-92{E=VkSqJ_K$eIcs8ROf+=)>wf@KhFa$U literal 0 HcmV?d00001 diff --git a/docs/source/about.rst b/docs/source/about.rst new file mode 100644 index 0000000..d057902 --- /dev/null +++ b/docs/source/about.rst @@ -0,0 +1,20 @@ +:orphan: true + +.. meta:: + :description: Miscellaneous information about the Kompass project + +.. vale off + +About +===== + +.. rst-class:: lead + +.. attention:: + Die Seite befindet sich noch im Aufbau. -- The page is still under construction. + + (Stand: 08.01.2025) + + +- About the kompass project +- About this documentation diff --git a/docs/source/conf.py b/docs/source/conf.py index e3ff583..c4c7f60 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -3,15 +3,19 @@ # For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html -# -- Project information ----------------------------------------------------- +from dataclasses import asdict +from sphinxawesome_theme import ThemeOptions + + +# -- Project information ------------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information project = 'Kompass' -copyright = '2024, Christian Merten' -author = 'Christian Merten' release = '2.0' +author = 'The Kompass Team' +copyright = f'2025, {author}' -# -- General configuration --------------------------------------------------- +# -- General configuration ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [] @@ -21,8 +25,39 @@ exclude_patterns = [] language = 'de' -# -- Options for HTML output ------------------------------------------------- +# -- Options for HTML output --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output -html_theme = 'alabaster' +html_theme = 'sphinxawesome_theme' html_static_path = ['_static'] + + +# -- Sphinxawsome-theme options ------------------------------------------------ +# https://sphinxawesome.xyz/how-to/configure/ + +html_logo = "_static/favicon2.png" +html_favicon = "_static/favicon2.png" + +html_sidebars = { + "about": ["sidebar_main_nav_links.html"], + # "changelog": ["sidebar_main_nav_links.html"], +} + +# Code blocks color scheme +pygments_style = "emacs" +pygments_style_dark = "emacs" + +# Could be directly in html_theme_options, but this way it has type hints +# from sphinxawesome_theme +theme_options = ThemeOptions( + show_prev_next=True, + show_breadcrumbs=True, + main_nav_links={ + "Docs": "index", + "About": "about", + # "Changelog": "changelog" + }, + show_scrolltop=True, +) + +html_theme_options = asdict(theme_options) diff --git a/docs/source/development_manual/architecture.rst b/docs/source/development_manual/architecture.rst new file mode 100644 index 0000000..d278f90 --- /dev/null +++ b/docs/source/development_manual/architecture.rst @@ -0,0 +1,7 @@ +.. _development_manual/architecture: + +================= +Architecture +================= + +tbd \ No newline at end of file diff --git a/docs/source/development_manual/contributing.rst b/docs/source/development_manual/contributing.rst new file mode 100644 index 0000000..dce0c53 --- /dev/null +++ b/docs/source/development_manual/contributing.rst @@ -0,0 +1,85 @@ +.. _development_manual/contributing: + +============ +Contributing +============ + +Any form of contribution is appreciated. If you found a bug or have a feature request, please file an +`issue `_. If you want to help with the documentation or +want to contribute code, please open a `pull request `_. + +.. note:: + + Please read this page carefully before contributing. + +Miscellaneous +------------- + +- version control with `git `_ +- own gitea instance at https://git.jdav-hd.merten.dev/ +- protected ``main`` branch + +Organization and branches +------------------------- + +The stable development happens on the ``main``-branch for which only maintainers have write access. Any pull request +should hence be targeted at ``main``. Regularly, the production instances are updated to the latest ``main`` version, +in particular these are considered to be stable. + +If you have standard write access to the repository, feel free to create new branches. To make organization +easier, please follow the branch naming convention: ``/``. + +The ``testing``-branch is deployed on the development instances. No development should happen there, this branch +is regularly reset to the ``main``-branch. + + +Workflow +-------- + +- request a gitea account from the project maintainers +- decide on an `issue `_ to work on or create a new one +- branch out to an own branch (naming convention: ``/``) from the ``main``-branch +- work on the issue and commit your changes +- create a pull request from your branch to the ``main``-branch + + +.. _development_manual/contributing/documentation: + +Documentation +------------- + +If you want to contribute to the documentation, please follow the steps below. + +Online (latest release version): https://jdav-hd.de/static/docs/ + +- This documentation is build `sphinx `_ and `awsome sphinx theme `_ the source code is located in ``docs/``. +- All documentation is written in `reStructuredText `_ and uses the `sphinx directives `_. + - The directives can vary due to the theme, see the `awesome sphinx theme documentation `_. +- All technical documentation is written in english, user documentation is written in german. + +To read the documentation build it locally and view it in your browser: + +.. code-block:: bash + + cd docs/ + make html + + # MacOS (with firefox) + open -a firefox $(pwd)/docs/build/html/index.html + # Linux (I guess?!?) + firefox ${pwd}/docs/build/html/index.html + +Code +---- + +If you want to contribute code, please follow the inital setup steps in the :ref:`development_manual/setup` section. And dont forget to :ref:`document ` your code properly and write tests. + + +.. note:: + + Still open / to decide: + + - linting + - (auto) formatting + - reliable tests via ci/cd pipeline + diff --git a/docs/source/development_manual/deployment.rst b/docs/source/development_manual/deployment.rst new file mode 100644 index 0000000..afc9acc --- /dev/null +++ b/docs/source/development_manual/deployment.rst @@ -0,0 +1,7 @@ +.. _development_manual/deployment: + +===================== +Production Deployment +===================== + +tbd \ No newline at end of file diff --git a/docs/source/development_manual/index.rst b/docs/source/development_manual/index.rst new file mode 100644 index 0000000..f219dc9 --- /dev/null +++ b/docs/source/development_manual/index.rst @@ -0,0 +1,42 @@ +.. _development_manual/index: + +######################### +Development Documentation +######################### + +This part of the documentation describes the development and maintenance of the Kompass project. + +.. toctree:: + :titlesonly: + + contributing + setup + architecture + testing + deployment + + +Contributing +------------ + +Any form of contribution is appreciated! + +.. seealso:: + + :ref:`Contributing ` + + + +Documentation +------------- + +Structure + +- :ref:`Nutzer Dokumentation ` auf deutsch +- :ref:`Development Documentation ` auf englisch + +.. seealso:: + + :ref:`Contributing #Documentation ` + + diff --git a/docs/source/development_manual/setup.rst b/docs/source/development_manual/setup.rst new file mode 100644 index 0000000..25a8de6 --- /dev/null +++ b/docs/source/development_manual/setup.rst @@ -0,0 +1,101 @@ +.. _development_manual/setup: + +================= +Development Setup +================= + +The project is run with ``docker`` and all related files are in the ``docker/`` subfolder. Besides the actual Kompass +application, a database (postgresql) and a broker (redis) are setup and run in the docker container. No +external services are needed for running the development container. + +Initial installation +-------------------- + +A working ``docker`` setup (with ``docker compose``) is required. For installation instructions see the +`docker manual `_. + +1. Clone the repository and change into the directory of the repository. + +2. Fetch submodules + +.. code-block:: bash + + git submodule update --init + + +.. _step-3: + +3. Prepare development environment: to allow automatic rebuilding upon changes in the source, + the owner of the ``/app/jdav_web`` directory in the Docker container must match your + user. For this, make sure that the output of ``echo UID`` and ``echo UID`` is not empty. Then run + +.. code-block:: bash + + export GID=${GID} + export UID=${UID} + +4. Start docker + +.. code-block:: bash + + cd docker/development + docker compose up + +This runs the docker in your current shell, which is useful to see any log output. If you want to run +the development server in the background instead, use ``docker compose up -d``. + +During the initial run, the container is built and all dependencies are installed which can take a few minutes. +After successful installation, the Kompass initialization runs, which in particular sets up all tables in the +database. + +If you need to rebuild the container (e.g. after changing the ``requirements.txt``), execute + +.. code-block:: bash + + docker compose up --build + +5. Setup admin user: in a separate shell, while the docker container is running, execute + +.. code-block:: bash + + cd docker/development + docker compose exec master bash -c "cd jdav_web && python3 manage.py createsuperuser" + +This creates an admin user for the administration interface. + + +Development +----------- + +If the initial installation was successful, you can start developing. Changes to files cause an automatic +reload of the development server. If you need to generate and perform database migrations or generate locale files, +use + +.. code-block:: bash + + cd docker/development + docker compose exec master bash + cd jdav_web + +This starts a shell in the container, where you can execute any django maintenance commands via +``python3 manage.py ``. For more information, see the https://docs.djangoproject.com/en/4.0/ref/django-admin. + + + + +Known Issues +------------ + +- If the ``UID`` and ``GID`` variables are not setup properly, you will encounter the following error message + after running ``docker compose up``. + +.. code-block:: bash + + => ERROR [master 6/7] RUN groupadd -g fritze && useradd -g -u -m -d /app fritze 0.2s + ------ + > [master 6/7] RUN groupadd -g fritze && useradd -g -u -m -d /app fritze: + 0.141 groupadd: invalid group ID 'fritze' + ------ + failed to solve: process "/bin/sh -c groupadd -g $GID $USER && useradd -g $GID -u $UID -m -d /app $USER" did not complete successfully: exit code: 3 + +In this case repeat :ref:`step 3 ` above. diff --git a/docs/source/development_manual/testing.rst b/docs/source/development_manual/testing.rst new file mode 100644 index 0000000..218894f --- /dev/null +++ b/docs/source/development_manual/testing.rst @@ -0,0 +1,7 @@ +.. _development_manual/testing: + +================= +Testing +================= + +To run the tests, you can use the docker setup under ``docker/test``. \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 9970d37..5c4bddb 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -2,42 +2,41 @@ sphinx-quickstart on Sun Nov 24 18:37:20 2024. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. +.. _index: -======= -Kompass -======= +############ +jdav Kompass +############ Der Kompass ist dein Kompass in der Jugendarbeit in deiner JDAV Sektion. Wenn du das -erste mal hier bist, schau doch mal :ref:`first-steps` an. +erste mal hier bist, schau doch mal :ref:`user_manual/getstarted` an. + +.. attention:: + Die Dokumentation befindet sich noch im Aufbau. -- The documentation is still under construction. + + (Stand: 08.01.2025) + -Was ist der Kompass? +Nutzer Dokumentation -------------------- -Der Kompass ist eine Verwaltungsplattform für die tägliche Jugendarbeit in der JDAV. -Die wichtigsten Funktionen sind +- auf deutsch +- Hier findest Du als Nutzer alles was Du wissen musst um den Kompass bedienen zu können. -- Verwaltung von Teilnehmer\*innen von Jugendgruppen -- Organisation von Ausfahrten -- Abwicklung von Abrechnungen -- Senden von E-Mails +.. toctree:: + :titlesonly: -Neben diesen Funktionen für die tägliche Arbeit, automatisiert der Kompass die -Aufnahme von neuen Mitgliedern und die Pflege der Daten durch + user_manual/index -- Wartelistenverwaltung -- Registrierung neuer Mitglieder -- Rückmeldeverfahren -.. _index: +Development Documentation +------------------------- -Inhaltsverzeichnis ------------------- +- auf englisch +- Hier findest Du als Entwickler alles was Du wissen musst um den Kompass entwickeln und zu pflegen. .. toctree:: - :maxdepth: 2 + :titlesonly: + + development_manual/index - getstarted - members - excursions - waitinglist - finance diff --git a/docs/source/excursions.rst b/docs/source/user_manual/excursions.rst similarity index 92% rename from docs/source/excursions.rst rename to docs/source/user_manual/excursions.rst index eb50caf..6169a87 100644 --- a/docs/source/excursions.rst +++ b/docs/source/user_manual/excursions.rst @@ -1,9 +1,9 @@ -.. _excursions: +.. _user_manual/excursions: Ausfahrten ========== -Neben der :ref:`Teilnehmer\*innenverwaltung ` ist das Abwickeln von Ausfahrten +Neben der :ref:`Teilnehmer\*innenverwaltung ` ist das Abwickeln von Ausfahrten die zweite wichtige Aufgabe des Kompass. Eine Ausfahrt für die eigene Jugendgruppe anbieten ist neben der ganzen inhaltlichen Arbeit auch jede Menge bürokratischer Aufwand. Der Kompass versucht dir von diesem Aufwand so viel wie möglich abzunehmen. @@ -43,6 +43,8 @@ Seminarbericht direkt ein und lass dir den Papierkram vom Kompass erledigen. SJR Antrag ---------- +tbd + Abrechnung ---------- diff --git a/docs/source/finance.rst b/docs/source/user_manual/finance.rst similarity index 91% rename from docs/source/finance.rst rename to docs/source/user_manual/finance.rst index e093ee1..238aacf 100644 --- a/docs/source/finance.rst +++ b/docs/source/user_manual/finance.rst @@ -1,3 +1,5 @@ +.. _user_manual/finance: + Finanzen ======== diff --git a/docs/source/getstarted.rst b/docs/source/user_manual/getstarted.rst similarity index 97% rename from docs/source/getstarted.rst rename to docs/source/user_manual/getstarted.rst index 5010292..72e9d0c 100644 --- a/docs/source/getstarted.rst +++ b/docs/source/user_manual/getstarted.rst @@ -1,4 +1,4 @@ -.. _first-steps: +.. _user_manual/getstarted: Erste Schritte ============== @@ -29,7 +29,7 @@ er auf den entsprechenden Eintrag, ändert das Geburtsdatum und klickt auf *Spei .. note:: Nicht alle Einträge in der `Teilnehmer\*innenanzeige`_ sind klickbar. Das liegt daran, dass du manche Teilnehmer\*innen zwar sehen, aber nicht ihre Details einsehen kannst. - Manche Einträge wiederum kannst du einsehen, aber nicht bearbeiten. Für mehr Details siehe :ref:`Teilnehmer\*innenverwaltung ` + Manche Einträge wiederum kannst du einsehen, aber nicht bearbeiten. Für mehr Details siehe :ref:`Teilnehmer\*innenverwaltung ` Probier doch einmal aus deinen eigenen Eintrag zu ändern. Sicherlich gibt es einige Felder, die nicht ausgefüllt oder nicht mehr aktuell sind. Lade z.B. ein Bild von dir hoch, @@ -70,7 +70,7 @@ Wie geht es weiter? ------------------- Nun hat Fritz den Bürokratiekram für heute erledigt. Du willst noch mehr wissen? Dann -geh zurück zum :ref:`index`. +geh zurück zur :ref:`user_manual/index`. .. _Startseite: https://jdav-hd.de/kompass .. _Teilnehmer\*innenanzeige: https://jdav-hd.de/kompassmembers/member/ diff --git a/docs/source/images/members_change_tabs.png b/docs/source/user_manual/images/members_change_tabs.png similarity index 100% rename from docs/source/images/members_change_tabs.png rename to docs/source/user_manual/images/members_change_tabs.png diff --git a/docs/source/images/members_changelist_action.png b/docs/source/user_manual/images/members_changelist_action.png similarity index 100% rename from docs/source/images/members_changelist_action.png rename to docs/source/user_manual/images/members_changelist_action.png diff --git a/docs/source/images/members_changelist_filters.png b/docs/source/user_manual/images/members_changelist_filters.png similarity index 100% rename from docs/source/images/members_changelist_filters.png rename to docs/source/user_manual/images/members_changelist_filters.png diff --git a/docs/source/images/members_changelist_group_filter.png b/docs/source/user_manual/images/members_changelist_group_filter.png similarity index 100% rename from docs/source/images/members_changelist_group_filter.png rename to docs/source/user_manual/images/members_changelist_group_filter.png diff --git a/docs/source/images/members_changelist_pages.png b/docs/source/user_manual/images/members_changelist_pages.png similarity index 100% rename from docs/source/images/members_changelist_pages.png rename to docs/source/user_manual/images/members_changelist_pages.png diff --git a/docs/source/images/members_changelist_sorting.png b/docs/source/user_manual/images/members_changelist_sorting.png similarity index 100% rename from docs/source/images/members_changelist_sorting.png rename to docs/source/user_manual/images/members_changelist_sorting.png diff --git a/docs/source/images/members_registration_form.png b/docs/source/user_manual/images/members_registration_form.png similarity index 100% rename from docs/source/images/members_registration_form.png rename to docs/source/user_manual/images/members_registration_form.png diff --git a/docs/source/images/members_unconfirmed_registration_demote.png b/docs/source/user_manual/images/members_unconfirmed_registration_demote.png similarity index 100% rename from docs/source/images/members_unconfirmed_registration_demote.png rename to docs/source/user_manual/images/members_unconfirmed_registration_demote.png diff --git a/docs/source/images/members_waitinglist_change_invite_to_group.png b/docs/source/user_manual/images/members_waitinglist_change_invite_to_group.png similarity index 100% rename from docs/source/images/members_waitinglist_change_invite_to_group.png rename to docs/source/user_manual/images/members_waitinglist_change_invite_to_group.png diff --git a/docs/source/images/members_waitinglist_change_invite_to_group_button.png b/docs/source/user_manual/images/members_waitinglist_change_invite_to_group_button.png similarity index 100% rename from docs/source/images/members_waitinglist_change_invite_to_group_button.png rename to docs/source/user_manual/images/members_waitinglist_change_invite_to_group_button.png diff --git a/docs/source/images/members_waitinglist_change_invite_to_group_selection.png b/docs/source/user_manual/images/members_waitinglist_change_invite_to_group_selection.png similarity index 100% rename from docs/source/images/members_waitinglist_change_invite_to_group_selection.png rename to docs/source/user_manual/images/members_waitinglist_change_invite_to_group_selection.png diff --git a/docs/source/user_manual/index.rst b/docs/source/user_manual/index.rst new file mode 100644 index 0000000..6d802e8 --- /dev/null +++ b/docs/source/user_manual/index.rst @@ -0,0 +1,50 @@ +.. _user_manual/index: + +#################### +Nutzer Dokumentation +#################### + + +Der Kompass ist dein Kompass in der Jugendarbeit in deiner JDAV Sektion. Wenn du das +erste mal hier bist, schau doch mal :ref:`user_manual/getstarted` an. + +.. toctree:: + :titlesonly: + + getstarted + members + excursions + waitinglist + finance + + +Was ist der Kompass? +-------------------- + +Der Kompass ist eine Verwaltungsplattform für die tägliche Jugendarbeit in der JDAV. +Die wichtigsten Funktionen sind + +- Verwaltung von Teilnehmer\*innen von Jugendgruppen +- Organisation von Ausfahrten +- Abwicklung von Abrechnungen +- Senden von E-Mails + +Neben diesen Funktionen für die tägliche Arbeit, automatisiert der Kompass die +Aufnahme von neuen Mitgliedern und die Pflege der Daten durch + +- Wartelistenverwaltung +- Registrierung neuer Mitglieder +- Rückmeldeverfahren + +Feedback +-------- + +Wenn Du Feedback hast, schreibe uns gerne eine E-Mail an: `digitales@jdav-hd.de `_. +Der Kompass lebt davon, dass er genau unsere Probleme löst und nicht nur ein weiteres Tool ist. + +Feedback könnte sein: + +- Fehler in der Software (bug) +- Verbesserungsvorschläge +- Wünsche für neue Funktionen +- etc. pp. diff --git a/docs/source/members.rst b/docs/source/user_manual/members.rst similarity index 94% rename from docs/source/members.rst rename to docs/source/user_manual/members.rst index 9eed0b5..5b72e86 100644 --- a/docs/source/members.rst +++ b/docs/source/user_manual/members.rst @@ -1,4 +1,4 @@ -.. _members: +.. _user_manual/members: Teilnehmer\*innenverwaltung =========================== @@ -15,12 +15,12 @@ In der Teilnehmer\*innenverwaltung siehst du in der Regel zwei Menüpunkte: - Teilnehmer\*innenverwaltung: Ausfahrten und *Alle Teilnehmer\*innen*. In diesem Abschnitt geht es nur um die Teilnehmer\*innen selbst. Wenn du etwas zum Punkt Ausfahrten -lernen möchtest, kannst du zu :ref:`excursions` springen. +lernen möchtest, kannst du zu :ref:`user_manual/excursions` springen. .. note:: Falls du ein Amt in deiner Sektion ausübst und zum Beispiel für Jugendgruppenkoordination oder die Verwaltung der Warteliste zuständig ist, siehst du hier noch mehr Punkte. Mehr - Informationen dazu findest du unter :ref:`waitinglist`. + Informationen dazu findest du unter :ref:`user_manual/waitinglist`. Falls du direkt zu einer von dir geleiteten Jugendgruppe gehen möchtest, findest du unter `Teilnehmer*innenverwaltung`_ oder auf der `Startseite`_ @@ -138,14 +138,14 @@ Der\*die ausgewählte Teilnehmer\*in erhält eine E-Mail mit einem Link. Dieser Seite auf der die Person ihr Geburtsdatum eingeben muss. .. note:: - Das Geburtsdatumsformat ist TT.MM.JJJJ, also wenn Peter am - 1.4.1999 geboren ist, müsste er *01.04.1999* eingeben. + Das Geburtsdatumsformat ist ``TT.MM.JJJJ``, also wenn Peter am + 1.4.1999 geboren ist, muss er *01.04.1999* eingeben. Nach erfolgreich eingegebenem Geburtsdatum, wird die Person auf ein Formular mit ihren Daten weitergeleitet. -Dann einfach prüfen, gegebenenfalls aktualisieren und schließlich speichern. Der Link ist +Dann prüfen, gegebenenfalls aktualisieren und schließlich speichern. Der Link ist immer 30 Tage lang gültig und kann in dieser Zeit auch beliebig oft benutzt werden. -Klingt alles noch abstrakt? Dann fordere doch mal dich selbst zur Rückmeldung auf und probiere es aus. +Klingt alles noch abstrakt? Dann fordere dich doch mal selbst zur Rückmeldung auf und probiere es aus. .. _emergency-contacts: @@ -159,7 +159,7 @@ mindestens einen Notfallkontakt angeben. .. note:: Bei vielen Teilnehmer\*innen sind keine Notfallkontakte eingetragen. Das liegt dann vermutlich daran, - dass die aus einem anderen System migriert wurden und daher nicht verfügbar sind. + dass sie aus einem anderen System migriert wurden und daher nicht verfügbar sind. Bei der regelmäßigen :ref:`echo` werden die Notfallkontakte ebenfalls abgefragt. Falls du bei einem deiner Gruppenkinder feststellst, dass die Notfallkontakte fehlen diff --git a/docs/source/waitinglist.rst b/docs/source/user_manual/waitinglist.rst similarity index 98% rename from docs/source/waitinglist.rst rename to docs/source/user_manual/waitinglist.rst index 09bfe7b..22f8a56 100644 --- a/docs/source/waitinglist.rst +++ b/docs/source/user_manual/waitinglist.rst @@ -1,4 +1,4 @@ -.. _waitinglist: +.. _user_manual/waitinglist: Warteliste und neue Mitglieder ============================== @@ -65,7 +65,7 @@ Neues Mitglied in euerer Gruppe Nach dem ihr ein neues Mitglied in eurer Gruppe habt seid ihr auch vorrangig für die Datenpflege zuständig. Bitte ruft die Detailansicht des\*der Teilnehmer\*in auf. Öffnet das Anmeldeformular und Übertragt die Infos in die zugehörigen Felder. Weiteres dazu findet ihr in der -:ref:`Teilnehmer\*innenverwaltung ` +:ref:`Teilnehmer\*innenverwaltung ` .. _group-registration-password: diff --git a/requirements.txt b/requirements.txt index 747d2f9..1ad9aa9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ -alabaster==0.7.16 amqp==5.0.9 asgiref==3.4.1 auditlog3==1.0.1 @@ -52,6 +51,7 @@ schwifty==2024.11.0 six==1.16.0 snowballstemmer==2.2.0 Sphinx==7.4.7 +sphinxawesome-theme==5.3.2 sphinxcontrib-applehelp==2.0.0 sphinxcontrib-devhelp==2.0.0 sphinxcontrib-htmlhelp==2.1.0