8. Februar 2025

Depot-Beschreibung wird öffentlich

Die Depot-Beschreibung wird neu im Bestellprozess angezeigt. So kannst du neuen Mitgliedern bei der Auswahl helfen, indem du hier wichtige Informationen zur Verfügung stellst.

Das heisst aber auch, dass die Depot-Beschreibung öffentlich sichtbar ist, nicht nur für Mitglieder. Wenn du geheime Informationen in der Beschreibung hast, verschiebe diese vor dem Update ins Feld „Zugangsbeschreibung“.

Python 3.8 wird nicht mehr unterstützt

Falls du Juntagrico auf einem eigenen Server installiert hast, aktualisiere auf Python 3.9, 3.10 oder 3.11 bevor du Juntagrico 1.7 installierst.

Im Juntagrico Hosting ist Python 3.9 im Einsatz.

Requirements anpassen

Wie üblich, musst du für die Aktualisierung deine requirements.txt anpassen.

juntagrico~=1.7.0

Aktualisiere auch die Versionen aller verwendeten Add-Ons auf eine mit 1.7 kompatible Version.

Juntagrico 1.7

Anpassungen in der settings.py

Füge juntagrico.context_processors.vocabulary bei den 'context_processors' in TEMPLATES hinzu:

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'juntagrico.context_processors.vocabulary',
            ],
            ...
        },
    },
]

In 1.7 gibt es folgende neue Settings:

Details zu diesen Settings findest du auch unter Juntagrico 1.7 – Was ist neu?

Berechtigungen vergeben

Geänderte Berechtigungen:

  • juntagrico.is_area_admin (Benutzer ist Tätigkeitsbereichskoordinator) kann neu die Einsätze bei den koordinierten Jobs bearbeiten.
  • juntagrico.change_assignment kann neu auch auf der Frontseite Einsätze eines Jobs bearbeiten.
  • juntagrico.delete_assignment kann neu auch auf der Frontseite Einsätze eines Jobs entfernen.

Modifikationen nachführen

Falls du deine Instanz angepasst hast, z.B. mit eigenen Templates, beachte auch dieses Änderungen.

Templates

Folgende Templates haben sich verändert

Emails

{{subscription.recipients_names}} wird ersetzt durch {% include "juntagrico/snippets/subscription/recipients.html" %}. Das betrifft folgende E-Mail-Templates:

mails/admin/subpart_created.txt (a_subpart_created)
mails/admin/subscription_created.txt (n_sub)

Die Bestätigung der Depot-Änderung zeigt neu auch die Abholzeit und das Depot wird nicht mehr als Template-Variable mitgegeben. Darum sehen die Details in

mails/member/depot_changed.txt (d_changed)

nun wie folgt aus:

{% with depot=subscription.depot %}
{% trans "Name" %}: {{ depot.name }}
{% trans "Ort" %}: {{ depot.location.address }}
{% trans "Abholung" %}: {{ depot.pickup_display }}
{% blocktrans %}{{ v_depot }}-Betreuung{% endblocktrans %}: {{ depot.contact.first_name }} {{ depot.contact.last_name }}, {{ depot.contact.get_phone }}, {{ depot.contact.email }}
{% trans "Beschreibung" %}: {{ depot.description|striptags }}
{% endwith %}

Und schliesslich enthalten alle Job-Emails neu einen Link zum Job mit {% trans "Einsatz ansehen" %}: {{ serverurl }}{% url 'job' job.id %}

Das Betrifft folgende Templates:

mails/member/job_canceled.txt (j_canceled)
mails/member/job_reminder.txt (j_reminder)
mails/member/job_signup.txt (j_signup)
mails/member/job_time_changed.txt (j_changed)

Anmelde Templates

Die Templates wurden grosszügig umstrukturiert und die enthaltenen Texte können nun viel gezielter bearbeitet werden mit Template Blocks. Siehe Dokumentation.

signup.html
createsubscription/add_member_cs.html
createsubscription/select_depot.html
createsubscription/select_shares.html
createsubscription/select_start_date.html
createsubscription/select_subscription.html
createsubscription/summary.html
welcome.html

Ausserdem wurde das Formular zur Auswahl der Abos ergänzt:

forms/subscription_type_label.html

Hier kamen neue template Blocks description und base_fee dazu:

forms/no_subscription_field.html

Depotlisten

exports/snippets/snippet_depotlist_header.html

depot.weekday_name wurde ersetzt mit depot.get_weekday_display

Eine neue Zeile zeigt den Abholungszeitraum an. Dazu kommt auch etwas CSS in exports/snippets/snippet_depotlist_style.css.

exports/depotlist.html

sub.recipients_display_name wurde entfernt und wird ersetzt mit:

{% include "juntagrico/snippets/subscription/recipients.html" with subscription=sub %}

Administrationslisten

Die Adminlisten wurden in der Darstellung vereinheitlicht:

juntagrico/manage/share/unpaid.html
juntagrico/manage/subscription/depot/changes.html
management_lists/canceledlist.html 
management_lists/part_canceledlist.html
management_lists/part_waitinglist.html
management_lists/waitinglist.html

Folgende Templates wurden dabei verschoben:

management_lists/inconsistent.html -> juntagrico/manage/subscription/inconsistent.html
management_lists/assignments.html -> juntagrico/manage/assignments.html
management_lists/member_canceledlist.html -> juntagrico/manage/member/canceled.html
management_lists/members.html -> juntagrico/manage/member/show.html
management_lists/share_canceledlist.html -> juntagrico/manage/share/canceled.html
management_lists/subscriptions.html -> juntagrico/manage/subscription/show.html

Admin-Menüs

Im Admin-Menü sind nun alle Untermenüs mit dem Template Block sub eingepackt.

juntagrico/menu/admin/activityareas.html
juntagrico/menu/admin/assignments.html
juntagrico/menu/admin/depots.html
juntagrico/menu/admin/extra_subscriptions.html
juntagrico/menu/admin/lists.html
juntagrico/menu/admin/members.html
juntagrico/menu/admin/shares.html
juntagrico/menu/admin/subscriptions.html

Abo-Übersicht

juntagrico/my/depot/snippets/depot_summary.html
snippets/snippet_subscription_change_nickname.html

subscription.recipients_display_name wurde entfernt und ersetzt mit: {% include "juntagrico/snippets/subscription/recipients.html" %}

juntagrico/my/subscription/none.html
juntagrico/my/subscription/single.html

Block „documents“ hinzugefügt

Andere Templates mit kleinen Anpassungen

areas.html

Der ganze Einleitungstext wurde verschoben nach {% include "juntagrico/my/area/snippets/intro.html" %}

base.html

Lädt das Menü nun effizienter.

cancelmembership.html

Neuer Block „Intro“ hinzugefügt.
Zudem ist die Erklärung, wenn keine Kündigung möglich ist nun deutlicher formuliert und dargestellt.

depot.html

Diverse neue Blocks und {{ depot.get_weekday_display }} wird ersetzt mit {{ depot.pickup_display }}

subscription.html

{{ subscription.recipients_display_name }} wird ersetzt durch {% include "juntagrico/snippets/subscription/recipients.html" %}

messages/not_confirmed.html

Tippfehler behoben: „nich“ → „nicht“.

Stark umstrukturierte Templates

depot_change.html
job.html
snippets/snippet_jobs.html
memberjobs.html
profile.html
manage_shares.html
js/i18n.js

Signale

Job:subscribed wird neu auch ausgelöst bei der Abmeldung von einem Einsatz und hat die zusätzlichen Argumente initial_count, welche angeben, wie viele Einsätze ursprünglich angemeldet waren, und message, welches die Nachricht vom Mitglied enthält. Neu empfängt on_job_subscribed dieses Signal, welches ein Benachrichtigungs-E-Mail sendet.

Member:member_canceled ist seit 1.7 deprecated und wird in einer zukünftigen Version entfernt. Es wird ersetzt durch Member:canceled. Dieses enthält im neuen Argument message die Nachricht des Mitglieds. Es wird nur ausgelöst, wenn das Mitglied die Mitgliedschaft kündet, nicht aber, wenn das Kündigungsdatum im Django-Admin gesetzt wird.

Weitere Änderungen

util.messages.error_message gibt nun einen string statt einen array zurück.

Diverse Methoden des Subscription-Models wurden wie hier beschrieben ersetzt.

Nächste Schritte

Nun kannst du deine Instanz wie gehabt deployen. Vergiss nicht die Migrationen anzuwenden. Im Juntagrico-Hosting passiert das automatisch beim Redeploy.

Lies hier weiter, welche neuen Funktionen Juntagrico 1.7 mitbringt und wie du diese aktivierst.