From 671d8e6c057021650bc24bd7b27401166300b92d Mon Sep 17 00:00:00 2001 From: Reto Tschuppert Date: Fri, 10 Jul 2026 16:28:17 +0200 Subject: [PATCH 1/3] Export highlight field --- src/onegov/org/forms/event.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/onegov/org/forms/event.py b/src/onegov/org/forms/event.py index 4347c5bcf2..7d1ceadc4e 100644 --- a/src/onegov/org/forms/event.py +++ b/src/onegov/org/forms/event.py @@ -568,6 +568,7 @@ def headers(self) -> dict[str, str]: 'event_registration_url': self.request.translate( _('Event Registration URL')), 'tags': self.request.translate(_('Tags')), + 'highlight': self.request.translate(_('Highlight')), 'start': self.request.translate(_('From')), 'end': self.request.translate(_('To')), 'created': self.request.translate(_('Created')), @@ -580,7 +581,7 @@ def run_export(self) -> list[dict[str, str]]: occurrences = OccurrenceCollection(self.request.session) headers = self.headers - def get(occurrence: Occurrence, attribute: str) -> str: + def get(occurrence: Occurrence, attribute: str) -> str | bool: if attribute in ('start', 'end'): attribute = f'localized_{attribute}' result = ( @@ -592,6 +593,8 @@ def get(occurrence: Occurrence, attribute: str) -> str: result, occurrence.timezone or 'Europe/Zurich') if isinstance(result, datetime): result = result.strftime('%d.%m.%Y %H:%M') + if isinstance(result, bool): + return result if attribute == 'tags': result = ', '.join( self.request.translate(_(tag)) From 08b915b49ba2831d7315c8bc1769ab0a307f0cda Mon Sep 17 00:00:00 2001 From: Reto Tschuppert Date: Fri, 10 Jul 2026 16:33:02 +0200 Subject: [PATCH 2/3] Export syndicate field --- src/onegov/org/forms/event.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/onegov/org/forms/event.py b/src/onegov/org/forms/event.py index 7d1ceadc4e..e66e0b2b6a 100644 --- a/src/onegov/org/forms/event.py +++ b/src/onegov/org/forms/event.py @@ -568,6 +568,7 @@ def headers(self) -> dict[str, str]: 'event_registration_url': self.request.translate( _('Event Registration URL')), 'tags': self.request.translate(_('Tags')), + 'syndicate': self.request.translate(_('Syndicate')), 'highlight': self.request.translate(_('Highlight')), 'start': self.request.translate(_('From')), 'end': self.request.translate(_('To')), From dd9f69b04484f748e5aa033c4d65a72068126241 Mon Sep 17 00:00:00 2001 From: Reto Tschuppert Date: Fri, 10 Jul 2026 17:00:57 +0200 Subject: [PATCH 3/3] Extend test for all formats --- tests/onegov/org/test_views_event.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/onegov/org/test_views_event.py b/tests/onegov/org/test_views_event.py index 6d52935b1d..3edd8a9460 100644 --- a/tests/onegov/org/test_views_event.py +++ b/tests/onegov/org/test_views_event.py @@ -733,6 +733,7 @@ def clear_submit_accept_single_event( transaction.commit() # Submit and publish an event + client.login_admin() page = client.get('/events').click('Veranstaltung erfassen') event_date = date.today() + timedelta(days=1) page.form['email'] = 'sinfonieorchester@govikon.org' @@ -744,11 +745,14 @@ def clear_submit_accept_single_event( page.form['organizer_email'] = 'sinfonieorchester@govikon.org' page.form['organizer_phone'] = '+41 41 123 45 67' page.form['tags'] = custom_tags if custom_tags else ['Music', 'Tradition'] + page.form['syndicate'] = False # requires admin + page.form['highlight'] = True # requires admin page.form['start_date'] = event_date.isoformat() page.form['start_time'] = '18:00' page.form['end_time'] = '22:00' page.form['repeat'] = 'without' page.form.submit().follow().form.submit().follow() + client.logout() client.login_editor() @@ -913,6 +917,8 @@ def verify_event_fields(event_fields: dict[str, str | None]) -> None: '+41 41 123 45 67') assert event_fields['Schlagworte'] == 'Musik, Brauchtum' + assert event_fields['Extern publizieren'] in (True, 'True', 'true') + assert event_fields['Highlight'] in (True, 'True', 'true') assert event_fields['Erstellt'] == '23.03.2026 09:00' assert event_fields['Von'] == '24.03.2026 18:00' assert event_fields['Bis'] == '24.03.2026 22:00'