Merge pull request #17174 from nextcloud/bugfix/noid/properly_mark_birthday_calendars_as_not_sharable

properly mark birthday calendars as not shareable for now
This commit is contained in:
Roeland Jago Douma 2019-09-17 18:03:21 +02:00 committed by GitHub
commit 85610d9b99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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); 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'])) { if (isset($this->calendarInfo['{http://owncloud.org/ns}read-only'])) {
return !$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) { $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);
}); });
} }
} }