properly mark birthday calendars as not shareable for now

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
Georg Ehrke 2019-09-17 11:05:55 +02:00 committed by Backportbot
parent cea2b78aa3
commit 45dea9245e
2 changed files with 9 additions and 2 deletions

View file

@ -363,7 +363,11 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IShareable {
return $this->caldavBackend->getPublishStatus($this);
}
private function canWrite() {
public function canWrite() {
if ($this->getName() === BirthdayService::BIRTHDAY_CALENDAR_URI) {
return false;
}
if (isset($this->calendarInfo['{http://owncloud.org/ns}read-only'])) {
return !$this->calendarInfo['{http://owncloud.org/ns}read-only'];
}

View file

@ -126,7 +126,10 @@ class PublishPlugin extends ServerPlugin {
});
$propFind->handle('{'.self::NS_CALENDARSERVER.'}allowed-sharing-modes', function() use ($node) {
return new AllowedSharingModes(!$node->isSubscription(), !$node->isSubscription());
$canShare = (!$node->isSubscription() && $node->canWrite());
$canPublish = (!$node->isSubscription() && $node->canWrite());
return new AllowedSharingModes($canShare, $canPublish);
});
}
}