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: 5 additions & 1 deletion src/onegov/org/forms/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,8 @@ 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')),
'created': self.request.translate(_('Created')),
Expand All @@ -580,7 +582,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 = (
Expand All @@ -592,6 +594,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))
Expand Down
6 changes: 6 additions & 0 deletions tests/onegov/org/test_views_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -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()

Expand Down Expand Up @@ -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'
Expand Down
Loading