From e6657a03d145e23b1ff280b359a8cb6310cba0f6 Mon Sep 17 00:00:00 2001 From: SebastianKrupinski Date: Tue, 26 Nov 2024 19:52:01 -0500 Subject: [PATCH] fix: disable both iTip and iMip messages Signed-off-by: SebastianKrupinski --- apps/dav/lib/CalDAV/Schedule/IMipPlugin.php | 8 -------- apps/dav/lib/CalDAV/Schedule/Plugin.php | 1 + .../unit/CalDAV/Schedule/IMipPluginTest.php | 19 ------------------- .../tests/unit/CalDAV/Schedule/PluginTest.php | 1 + 4 files changed, 2 insertions(+), 27 deletions(-) diff --git a/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php b/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php index 4d771f0f7f8cf..6d70d6fac4739 100644 --- a/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php +++ b/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php @@ -133,14 +133,6 @@ public function beforeWriteContent($uri, INode $node, $data, $modified): void { */ public function schedule(Message $iTipMessage) { - // do not send imip messages if external system already did - /** @psalm-suppress UndefinedPropertyFetch */ - if ($iTipMessage->message?->VEVENT?->{'X-NC-DISABLE-SCHEDULING'}?->getValue() === 'true') { - if (!$iTipMessage->scheduleStatus) { - $iTipMessage->scheduleStatus = '1.0;We got the message, but iMip messages are disabled for this event'; - } - return; - } // Not sending any emails if the system considers the update insignificant if (!$iTipMessage->significantChange) { if (!$iTipMessage->scheduleStatus) { diff --git a/apps/dav/lib/CalDAV/Schedule/Plugin.php b/apps/dav/lib/CalDAV/Schedule/Plugin.php index 26ea9f2531bd9..8eeee6c8f8b52 100644 --- a/apps/dav/lib/CalDAV/Schedule/Plugin.php +++ b/apps/dav/lib/CalDAV/Schedule/Plugin.php @@ -1,4 +1,5 @@ * @copyright Copyright (c) 2016, Joas Schilling diff --git a/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php b/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php index 7813a7942feaa..de6218bf5f536 100644 --- a/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php +++ b/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php @@ -783,23 +783,4 @@ public function testNoButtons(): void { $this->plugin->schedule($message); $this->assertEquals('1.1', $message->getScheduleStatus()); } - - public function testImipDisabledForEvent(): void { - // construct iTip message with event and attendees - $calendar = new VCalendar(); - $calendar->add('VEVENT', ['UID' => 'uid-1234']); - $event = $calendar->VEVENT; - $event->add('ORGANIZER', 'mailto:gandalf@wiz.ard'); - $event->add('ATTENDEE', 'mailto:' . 'frodo@hobb.it', ['RSVP' => 'TRUE', 'CN' => 'Frodo']); - $event->add('X-NC-DISABLE-SCHEDULING', 'true'); - $message = new Message(); - $message->method = 'REQUEST'; - $message->message = $calendar; - $message->sender = 'mailto:gandalf@wiz.ard'; - $message->senderName = 'Mr. Wizard'; - $message->recipient = 'mailto:' . 'frodo@hobb.it'; - - $this->plugin->schedule($message); - $this->assertEquals('1.0;We got the message, but iMip messages are disabled for this event', $message->scheduleStatus); - } } diff --git a/apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php b/apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php index 8f315eac0ee52..77af09a57c67c 100644 --- a/apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php +++ b/apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php @@ -1,4 +1,5 @@ *