Skip to content

Commit 86f50b6

Browse files
fixup! feat(caldav): Create personal event for out-of-office messages
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
1 parent 70ad621 commit 86f50b6

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

apps/dav/lib/Listener/OutOfOfficeListener.php

+8-5
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
use Psr\Log\LoggerInterface;
4141
use Sabre\DAV\Exception\NotFound;
4242
use Sabre\VObject\Component\VCalendar;
43+
use Sabre\VObject\Component\VEvent;
4344
use Sabre\VObject\Component\VTimeZone;
4445
use Sabre\VObject\Reader;
4546
use function fclose;
@@ -189,18 +190,20 @@ private function createVCalendarEvent(IOutOfOfficeData $data, ?string $timeZoneD
189190
'DTEND' => $end,
190191
'X-NEXTCLOUD-OUT-OF-OFFICE' => $data->getId(),
191192
]);
193+
/** @var VEvent $vEvent */
194+
$vEvent = $vCalendar->VEVENT;
192195
if ($timeZoneData !== null) {
193196
/** @var VCalendar $vtimezoneObj */
194197
$vtimezoneObj = Reader::read($timeZoneData);
195198
/** @var VTimeZone $vtimezone */
196199
$vtimezone = $vtimezoneObj->VTIMEZONE;
197200
$calendarTimeZone = $vtimezone->getTimeZone();
198201
$vCalendar->add($vtimezone);
199-
$vCalendar->VEVENT->add('DTSTART', $start->setTimezone($calendarTimeZone)->setTime(0, 0));
200-
$vCalendar->VEVENT->add('DTEND', $end->setTimezone($calendarTimeZone)->setTime(0, 0));
201-
} else {
202-
$vCalendar->VEVENT->add('DTSTART', $start);
203-
$vCalendar->VEVENT->add('DTEND', $end);
202+
203+
/** @psalm-suppress UndefinedMethod */
204+
$vEvent->DTSTART->setDateTime($start->setTimezone($calendarTimeZone)->setTime(0, 0));
205+
/** @psalm-suppress UndefinedMethod */
206+
$vEvent->DTEND->setDateTime($end->setTimezone($calendarTimeZone)->setTime(0, 0));
204207
}
205208
return $vCalendar;
206209
}

0 commit comments

Comments
 (0)