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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repos:
exclude: .pre-commit-config.yaml
- id: pt_structure
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.18
rev: v0.15.20
hooks:
- id: ruff-check
args: [ "--fix" ]
Expand All @@ -29,15 +29,15 @@ repos:
additional_dependencies:
- flake8-type-checking>=3.0.0
- repo: https://github.com/thibaudcolas/pre-commit-stylelint
rev: v17.13.0
rev: v17.14.0
hooks:
- id: stylelint
files: '^src/.*\.scss'
additional_dependencies:
- stylelint@16.19.1
- stylelint-config-standard-scss@15.0.0
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v10.5.0
rev: v10.6.0
hooks:
- id: eslint
files: '^src/.*\.jsx?$'
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ install_requires =
pdfdocument
pdfrw2
pdftotext
pglast
pglast==7.16
phonenumbers
polib
psycopg2
Expand Down
21 changes: 21 additions & 0 deletions src/onegov/org/forms/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -1569,6 +1569,27 @@ class NewsletterSettingsForm(Form):
default=False
)

daily_newsletter_link = URLField(
label=_('Link for automatic newsletters'),
fieldset=_('Automatic newsletters'),
description=_(
'A static link displayed in every automatic newsletter '
'below the news articles.'
),
depends_on=('enable_automatic_newsletters', 'y'),
validators=[Optional()],
)

daily_newsletter_link_text = StringField(
label=_('Display name for the link'),
fieldset=_('Automatic newsletters'),
description=_(
'The text shown for the link. If empty, the link itself '
'is shown.'
),
depends_on=('enable_automatic_newsletters', 'y'),
)

newsletter_times = TagsField(
label=_('Newsletter sending times (24h format)'),
fieldset=_('Automatic newsletters'),
Expand Down
41 changes: 29 additions & 12 deletions src/onegov/org/locale/de_CH/LC_MESSAGES/onegov.org.po
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
"POT-Creation-Date: 2026-07-01 07:55+0200\n"
"POT-Creation-Date: 2026-07-08 11:17+0200\n"
"PO-Revision-Date: 2022-03-15 10:21+0100\n"
"Last-Translator: Marc Sommerhalder <marc.sommerhalder@seantis.ch>\n"
"Language-Team: German\n"
Expand Down Expand Up @@ -1083,6 +1083,12 @@ msgstr "Erstellt"
msgid "Expected header line with the following columns:"
msgstr "Die erste Zeile soll folgende Spaltennamen haben:"

msgid "Remove these filters from all affected events"
msgstr "Diese(n) Filter bei allen betroffenen Veranstaltungen entfernen"

msgid "Confirmation"
msgstr "Bestätigung"

msgid "Comment"
msgstr "Kommentar"

Expand Down Expand Up @@ -2772,6 +2778,24 @@ msgstr "Titel für tägliche Newsletter"
msgid "Daily news from our town"
msgstr "Tägliche Neuigkeiten aus unserer Gemeinde"

msgid "Link for automatic newsletters"
msgstr "Link für automatische Newsletter"

msgid ""
"A static link displayed in every automatic newsletter below the news "
"articles."
msgstr ""
"Ein statischer Link, der in jedem automatischen Newsletter unterhalb der "
"Nachrichten angezeigt wird."

msgid "Display name for the link"
msgstr "Anzeigename für den Link"

msgid "The text shown for the link. If empty, the link itself is shown."
msgstr ""
"Der für den Link angezeigte Text. Wenn leer, wird der Link selbst "
"angezeigt."

msgid "Newsletter sending times (24h format)"
msgstr "Newsletter Versandzeiten (24h Format)"

Expand Down Expand Up @@ -4396,8 +4420,8 @@ msgstr "Anzahl"
msgid "VAT"
msgstr "MwSt"

#. credit card
#.
#. credit card
msgid "Payment"
msgstr "Zahlung"

Expand Down Expand Up @@ -5222,8 +5246,8 @@ msgstr "Neue Kunden Nachricht in Ticket ${link}"
msgid "${author} wrote"
msgstr "${author} schrieb"

#. Canonical text for ${link} is: "visit the request page"
#. Canonical text for ${link} is: "visit the request status page"
#. Canonical text for ${link} is: "visit the request page"
msgid "Please ${link} to reply."
msgstr "Bitte ${link} um zu antworten"

Expand Down Expand Up @@ -6386,8 +6410,8 @@ msgid "Delete availability period"
msgstr "Verfügbarkeitszeitraum löschen"

#.
#. type:ignore[attr-defined]
#. type:ignore[attr-defined] # trigger updates
#. type:ignore[attr-defined]
msgid "Your changes were saved"
msgstr "Ihre Änderungen wurden gespeichert"

Expand Down Expand Up @@ -7220,18 +7244,11 @@ msgstr ""
"Der Filter \"${keyword}\" ist noch bei ${count} Veranstaltung(en) gesetzt."

#, python-format
msgid ""
"The filter choice \"${choice}\" is still applied to ${count} event(s)."
msgid "The filter choice \"${choice}\" is still applied to ${count} event(s)."
msgstr ""
"Die Filterauswahl \"${choice}\" ist noch bei ${count} Veranstaltung(en) "
"gesetzt."

msgid "Remove these filters from all affected events"
msgstr "Diese(n) Filter bei allen betroffenen Veranstaltungen entfernen"

msgid "Confirmation"
msgstr "Bestätigung"

msgid "Edit Event Filter Configuration"
msgstr "Filterkonfiguration für Veranstaltungen bearbeiten"

Expand Down
45 changes: 29 additions & 16 deletions src/onegov/org/locale/fr_CH/LC_MESSAGES/onegov.org.po
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
"POT-Creation-Date: 2026-07-01 07:55+0200\n"
"POT-Creation-Date: 2026-07-08 11:17+0200\n"
"PO-Revision-Date: 2022-03-15 10:50+0100\n"
"Last-Translator: Marc Sommerhalder <marc.sommerhalder@seantis.ch>\n"
"Language-Team: French\n"
Expand Down Expand Up @@ -1084,6 +1084,12 @@ msgstr "Créé"
msgid "Expected header line with the following columns:"
msgstr "La première ligne doit avoir les noms de colonne suivants:"

msgid "Remove these filters from all affected events"
msgstr "Supprimer ces filtres de tous les événements concernés"

msgid "Confirmation"
msgstr "Confirmation"

msgid "Comment"
msgstr "Commentaire"

Expand Down Expand Up @@ -2780,6 +2786,22 @@ msgstr "Titre des newsletters quotidiennes"
msgid "Daily news from our town"
msgstr "Nouvelles quotidiennes de notre ville"

msgid "Link for automatic newsletters"
msgstr "Lien pour les newsletters automatiques"

msgid ""
"A static link displayed in every automatic newsletter below the news "
"articles."
msgstr ""
"Un lien statique affiché dans chaque newsletter automatique sous les "
"articles d'actualité."

msgid "Display name for the link"
msgstr "Nom d'affichage du lien"

msgid "The text shown for the link. If empty, the link itself is shown."
msgstr "Le texte affiché pour le lien. S'il est vide, le lien lui-même est affiché."

msgid "Newsletter sending times (24h format)"
msgstr "Horaires d'envoi de la newsletter (format 24h)"

Expand Down Expand Up @@ -4404,8 +4426,8 @@ msgstr "Quantité"
msgid "VAT"
msgstr "TVA"

#. credit card
#.
#. credit card
msgid "Payment"
msgstr "Paiement"

Expand Down Expand Up @@ -5230,8 +5252,8 @@ msgstr "Nouveau message du client dans le ticket ${link}"
msgid "${author} wrote"
msgstr "${author} a écrit"

#. Canonical text for ${link} is: "visit the request page"
#. Canonical text for ${link} is: "visit the request status page"
#. Canonical text for ${link} is: "visit the request page"
msgid "Please ${link} to reply."
msgstr "Veuillez vous rendre sur ${link} pour répondre."

Expand Down Expand Up @@ -6401,8 +6423,8 @@ msgid "Delete availability period"
msgstr "Supprimer la période de disponibilité"

#.
#. type:ignore[attr-defined]
#. type:ignore[attr-defined] # trigger updates
#. type:ignore[attr-defined]
msgid "Your changes were saved"
msgstr "Vos modifications ont été enregistrées"

Expand Down Expand Up @@ -7229,21 +7251,12 @@ msgstr "Cette semaine"

#, python-format
msgid "The filter \"${keyword}\" is still applied to ${count} event(s)."
msgstr ""
"Le filtre \"${keyword}\" est encore appliqué à ${count} événement(s)."
msgstr "Le filtre \"${keyword}\" est encore appliqué à ${count} événement(s)."

#, python-format
msgid ""
"The filter choice \"${choice}\" is still applied to ${count} event(s)."
msgid "The filter choice \"${choice}\" is still applied to ${count} event(s)."
msgstr ""
"Le choix de filtre \"${choice}\" est encore appliqué à ${count} "
"événement(s)."

msgid "Remove these filters from all affected events"
msgstr "Supprimer ces filtres de tous les événements concernés"

msgid "Confirmation"
msgstr "Confirmation"
"Le choix de filtre \"${choice}\" est encore appliqué à ${count} événement(s)."

msgid "Edit Event Filter Configuration"
msgstr "Modifier la configuration du filtre d'événements"
Expand Down
42 changes: 28 additions & 14 deletions src/onegov/org/locale/it_CH/LC_MESSAGES/onegov.org.po
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2026-07-01 07:55+0200\n"
"POT-Creation-Date: 2026-07-08 11:17+0200\n"
"PO-Revision-Date: 2022-03-15 10:52+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
Expand Down Expand Up @@ -1085,6 +1085,12 @@ msgstr "Creato"
msgid "Expected header line with the following columns:"
msgstr "La prima riga deve avere i seguenti nomi di colonna:"

msgid "Remove these filters from all affected events"
msgstr "Rimuovi questi filtri da tutti gli eventi interessati"

msgid "Confirmation"
msgstr "Conferma"

msgid "Comment"
msgstr "Commento"

Expand Down Expand Up @@ -2781,6 +2787,22 @@ msgstr "Titolo per le newsletter giornaliere"
msgid "Daily news from our town"
msgstr "Notizie giornaliere dalla nostra città"

msgid "Link for automatic newsletters"
msgstr "Link per le newsletter automatiche"

msgid ""
"A static link displayed in every automatic newsletter below the news "
"articles."
msgstr ""
"Un link statico visualizzato in ogni newsletter automatica sotto gli "
"articoli di notizie."

msgid "Display name for the link"
msgstr "Nome visualizzato per il link"

msgid "The text shown for the link. If empty, the link itself is shown."
msgstr "Il testo mostrato per il link. Se vuoto, viene mostrato il link stesso."

msgid "Newsletter sending times (24h format)"
msgstr "Orari di invio della newsletter (formato 24 ore)"

Expand Down Expand Up @@ -4394,8 +4416,8 @@ msgstr "Quantità"
msgid "VAT"
msgstr "IVA"

#. credit card
#.
#. credit card
msgid "Payment"
msgstr "Pagamento"

Expand Down Expand Up @@ -5209,8 +5231,8 @@ msgstr "Nuovo messaggio del cliente nel ticket ${link}"
msgid "${author} wrote"
msgstr "${author} ha scritto"

#. Canonical text for ${link} is: "visit the request page"
#. Canonical text for ${link} is: "visit the request status page"
#. Canonical text for ${link} is: "visit the request page"
msgid "Please ${link} to reply."
msgstr "Per favore ${link} per rispondere."

Expand Down Expand Up @@ -6375,8 +6397,8 @@ msgid "Delete availability period"
msgstr "Elimina il periodo di disponibilità"

#.
#. type:ignore[attr-defined]
#. type:ignore[attr-defined] # trigger updates
#. type:ignore[attr-defined]
msgid "Your changes were saved"
msgstr "Le modifiche sono state salvate"

Expand Down Expand Up @@ -7193,21 +7215,13 @@ msgstr "Questa settimana"

#, python-format
msgid "The filter \"${keyword}\" is still applied to ${count} event(s)."
msgstr ""
"Il filtro \"${keyword}\" è ancora applicato a ${count} evento/i."
msgstr "Il filtro \"${keyword}\" è ancora applicato a ${count} evento/i."

#, python-format
msgid ""
"The filter choice \"${choice}\" is still applied to ${count} event(s)."
msgid "The filter choice \"${choice}\" is still applied to ${count} event(s)."
msgstr ""
"La scelta del filtro \"${choice}\" è ancora applicata a ${count} evento/i."

msgid "Remove these filters from all affected events"
msgstr "Rimuovi questi filtri da tutti gli eventi interessati"

msgid "Confirmation"
msgstr "Conferma"

msgid "Edit Event Filter Configuration"
msgstr "Modifica configurazione filtro eventi"

Expand Down
2 changes: 2 additions & 0 deletions src/onegov/org/models/organisation.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,8 @@ class Organisation(Base, TimestampMixin):
newsletter_times: dict_property[list[str] | None] = meta_property()
daily_newsletter_title: dict_property[str | None] = meta_property()
show_only_previews: dict_property[bool] = meta_property(default=False)
daily_newsletter_link: dict_property[str | None] = meta_property()
daily_newsletter_link_text: dict_property[str | None] = meta_property()

# Chat Settings
chat_staff: dict_property[list[str] | None] = meta_property()
Expand Down
5 changes: 5 additions & 0 deletions src/onegov/org/templates/mail_newsletter.pt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
</tal:b>
</tal:b>

<tal:b condition="daily_link">
<hr>
<p><a href="${daily_link}">${daily_link_text or daily_link}</a></p>
</tal:b>

<tal:b condition="publications">
<h2 i18n:translate>Publications</h2>

Expand Down
Loading
Loading