feat(calendar): add dynamic organizer to event ICS exports
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions

Adds organizer_name and organizer_email columns to NordaEvent with
defaults (Norda Biznes). ICS calendar exports now use per-event
organizer instead of hardcoded value.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-03-18 17:29:37 +01:00
parent 327cb5a790
commit 9bb2659ffd
3 changed files with 10 additions and 2 deletions

View File

@ -2170,6 +2170,10 @@ class NordaEvent(Base):
# Media
image_url = Column(String(1000)) # Banner/header image URL
# Organizer (for calendar exports)
organizer_name = Column(String(255), default='Norda Biznes')
organizer_email = Column(String(255), default='biuro@norda-biznes.info')
# Attachment
attachment_filename = Column(String(255)) # Original filename
attachment_path = Column(String(1000)) # Server path (static/uploads/events/...)

View File

@ -1,6 +1,8 @@
-- Migration: 085_event_attachments.sql
-- Description: Add attachment support to norda_events (filename + server path)
-- Description: Add attachment and organizer fields to norda_events
-- Date: 2026-03-18
ALTER TABLE norda_events ADD COLUMN IF NOT EXISTS attachment_filename VARCHAR(255);
ALTER TABLE norda_events ADD COLUMN IF NOT EXISTS attachment_path VARCHAR(1000);
ALTER TABLE norda_events ADD COLUMN IF NOT EXISTS organizer_name VARCHAR(255) DEFAULT 'Norda Biznes';
ALTER TABLE norda_events ADD COLUMN IF NOT EXISTS organizer_email VARCHAR(255) DEFAULT 'biuro@norda-biznes.info';

View File

@ -657,6 +657,8 @@ const _evt = {
location: {{ (event.location or '')|tojson }},
speaker: {{ (event.speaker_name or '')|tojson }},
description: {{ (event.description or '')|tojson }},
organizerName: {{ (event.organizer_name or 'Norda Biznes')|tojson }},
organizerEmail: {{ (event.organizer_email or 'biuro@norda-biznes.info')|tojson }},
url: window.location.href,
};
@ -705,7 +707,7 @@ function downloadICS() {
'LOCATION:' + _evt.location,
'DESCRIPTION:' + desc,
'URL:' + _evt.url,
'ORGANIZER;CN=Norda Biznes:mailto:biuro@norda-biznes.info',
'ORGANIZER;CN=' + _evt.organizerName + ':mailto:' + _evt.organizerEmail,
'BEGIN:VALARM',
'TRIGGER:-P1D',
'ACTION:DISPLAY',