add default alert (15min before event starts)

This commit is contained in:
stefan.tollkuehn committed 2026-10-08 10:14:32 +02:00
1 parent b100d9c986
commit 5bdbc7477c
2 files changed
+26 -1

No files matched your search

+21 -1
View File
@@ -16,6 +16,7 @@ use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUserSession;
use OCP\IDateTimeZone;
use Sabre\VObject\Reader;
class CalendarController extends Controller
{
@@ -24,6 +25,11 @@ class CalendarController extends Controller
*/
private const CALENDAR_NAME = 'Personal';
/*
* Default reminder: 15 minutes before the event starts.
*/
private const REMINDER_TRIGGER = '-PT15M';
/*
* datetime-local format as sent by jitsi-launch,
* e.g. "2026-10-07T14:15".
@@ -225,7 +231,21 @@ class CalendarController extends Controller
$builder->setOrganizer($data['organizer']);
}
$builder->createInCalendar($calendar);
/*
* ICalendarEventBuilder supports no alarms, so the VALARM
* is injected into the serialized ICS before writing it.
*/
$vobject = Reader::read($builder->toIcs());
$vobject->VEVENT->add('VALARM', [
'ACTION' => 'DISPLAY',
'DESCRIPTION' => 'Reminder',
'TRIGGER' => self::REMINDER_TRIGGER,
]);
$fileName = (string) $vobject->VEVENT->UID . '.ics';
$calendar->createFromString($fileName, $vobject->serialize());
}
/**