Merge pull request #16560 from nextcloud/bugfix/noid/fix_cutype_reporting

fix calendar-user-type reporting
This commit is contained in:
Roeland Jago Douma 2019-07-27 12:23:25 +02:00 committed by GitHub
commit 1ec98af3e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 12 deletions

View File

@ -27,6 +27,7 @@ namespace OCA\DAV\CalDAV\Schedule;
use OCA\DAV\CalDAV\CalDavBackend;
use OCA\DAV\CalDAV\CalendarHome;
use Sabre\DAV\INode;
use Sabre\DAV\IProperties;
use Sabre\DAV\PropFind;
use Sabre\DAV\Server;
use Sabre\DAV\Xml\Property\LocalHref;
@ -55,19 +56,23 @@ class Plugin extends \Sabre\CalDAV\Schedule\Plugin {
* @return void
*/
function propFind(PropFind $propFind, INode $node) {
// overwrite Sabre/Dav's implementation
$propFind->handle('{' . self::NS_CALDAV . '}calendar-user-type', function() use ($node) {
$calendarUserType = '{' . self::NS_CALDAV . '}calendar-user-type';
$props = $node->getProperties([$calendarUserType]);
if (isset($props[$calendarUserType])) {
return $props[$calendarUserType];
}
return 'INDIVIDUAL';
});
parent::propFind($propFind, $node);
if ($node instanceof IPrincipal) {
// overwrite Sabre/Dav's implementation
$propFind->handle('{' . self::NS_CALDAV . '}calendar-user-type', function () use ($node) {
if ($node instanceof IProperties) {
$calendarUserType = '{' . self::NS_CALDAV . '}calendar-user-type';
$props = $node->getProperties([$calendarUserType]);
if (isset($props[$calendarUserType])) {
return $props[$calendarUserType];
}
}
return 'INDIVIDUAL';
});
}
}
/**