add default alert (15min before event starts)
This commit is contained in:
1 parent
b100d9c986
commit
5bdbc7477c
2 files changed
+26
-1
No files matched your search
@@ -46,6 +46,11 @@ the event and submits the form. The event lands in the user's
|
||||
Dates carry no timezone and are interpreted in the user's Nextcloud
|
||||
timezone (server default as fallback).
|
||||
|
||||
## Reminder
|
||||
|
||||
Every created event gets a display alarm 15 minutes before it starts
|
||||
(`TRIGGER:-PT15M` VALARM). The reminder is not configurable.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user