diff --git a/calendar/inc/class.calendar_boupdate.inc.php b/calendar/inc/class.calendar_boupdate.inc.php index baa45912e5..8ae489848f 100644 --- a/calendar/inc/class.calendar_boupdate.inc.php +++ b/calendar/inc/class.calendar_boupdate.inc.php @@ -1061,8 +1061,13 @@ class calendar_boupdate extends calendar_bo } if (!is_array($event) && !($event = $this->read($event))) return false; - // regular user and groups - return isset($event['participants'][$uid]) && $this->check_perms(EGW_ACL_EDIT,0,$uid); + // regular user and groups (need to check memberships too) + if (!isset($event['participants'][$uid])) + { + $memberships = $GLOBALS['egw']->accounts->memberships($uid,true); + } + $memberships[] = $uid; + return array_intersect($memberships, array_keys($event['participants'])) && $this->check_perms(EGW_ACL_EDIT,0,$uid); } /**