forked from extern/egroupware
* Calendar/CalDAV: ignore Outlook CalDAV Synchronizer setting participant status back to unknown/needs-action (other status will be updated)
This commit is contained in:
parent
c964ccd584
commit
3c5bea23ef
@ -954,10 +954,6 @@ class calendar_groupdav extends Api\CalDAV\Handler
|
||||
}
|
||||
// if no edit-rights (aka no organizer), update only attendee stuff: status and alarms
|
||||
if (!$this->check_access(Acl::EDIT, $oldEvent) ||
|
||||
// Work around problems with Outlook CalDAV Synchroniser (https://caldavsynchronizer.org/)
|
||||
// - always sends all participants back with status NEEDS-ACTION --> resets status of all participant, if user has edit rights
|
||||
// --> allow full updates only for organizer
|
||||
self::get_agent() == 'caldavsynchronizer' && $oldEvent['owner'] != $user ||
|
||||
// we ignored Lightings If-None-Match: "*" --> do not overwrite event, just change status
|
||||
!empty($workaround_lightning_if_none_match))
|
||||
{
|
||||
|
@ -1308,7 +1308,10 @@ class calendar_ical extends calendar_boupdate
|
||||
// if the client does not return a status, we restore the original one
|
||||
foreach ($event['participants'] as $uid => $status)
|
||||
{
|
||||
if ($status[0] == 'X')
|
||||
// Work around problems with Outlook CalDAV Synchronizer (https://caldavsynchronizer.org/)
|
||||
// - always sends all participants back with status NEEDS-ACTION --> resets status of all participant, if user has edit rights
|
||||
// --> allow only updates with other status then NEEDS-ACTION and therefore allow accepting or denying meeting requests for the user himself
|
||||
if ($status[0] === 'X' || calendar_groupdav::get_agent() === 'caldavsynchronizer' && $status[0] === 'U')
|
||||
{
|
||||
if (isset($event_info['stored_event']['participants'][$uid]))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user