mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-27 09:09:07 +01:00
* 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
de14e34abb
commit
3ef0b5a6de
@ -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 no edit-rights (aka no organizer), update only attendee stuff: status and alarms
|
||||||
if (!$this->check_access(Acl::EDIT, $oldEvent) ||
|
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
|
// we ignored Lightings If-None-Match: "*" --> do not overwrite event, just change status
|
||||||
!empty($workaround_lightning_if_none_match))
|
!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
|
// if the client does not return a status, we restore the original one
|
||||||
foreach ($event['participants'] as $uid => $status)
|
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]))
|
if (isset($event_info['stored_event']['participants'][$uid]))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user