mirror of
https://github.com/nextcloud/server.git
synced 2026-03-14 14:43:06 -04:00
Send Invitation to Attendees with ROLE=REQ-PARTICIPANT
Signed-off-by: Anna Larch <anna@nextcloud.com>
This commit is contained in:
parent
a92d1d13eb
commit
2f3dc4ea11
1 changed files with 11 additions and 3 deletions
|
|
@ -250,9 +250,8 @@ class IMipPlugin extends SabreIMipPlugin {
|
|||
$this->addSubjectAndHeading($template, $l10n, $method, $summary);
|
||||
$this->addBulletList($template, $l10n, $vevent);
|
||||
|
||||
|
||||
// Only add response buttons to invitation requests: Fix Issue #11230
|
||||
if (($method == self::METHOD_REQUEST) && $this->getAttendeeRSVP($attendee)) {
|
||||
if (($method == self::METHOD_REQUEST) && $this->getAttendeeRsvpOrReqForParticipant($attendee)) {
|
||||
|
||||
/*
|
||||
** Only offer invitation accept/reject buttons, which link back to the
|
||||
|
|
@ -390,12 +389,21 @@ class IMipPlugin extends SabreIMipPlugin {
|
|||
* @param Property|null $attendee
|
||||
* @return bool
|
||||
*/
|
||||
private function getAttendeeRSVP(Property $attendee = null) {
|
||||
private function getAttendeeRsvpOrReqForParticipant(Property $attendee = null) {
|
||||
if ($attendee !== null) {
|
||||
$rsvp = $attendee->offsetGet('RSVP');
|
||||
if (($rsvp instanceof Parameter) && (strcasecmp($rsvp->getValue(), 'TRUE') === 0)) {
|
||||
return true;
|
||||
}
|
||||
$role = $attendee->offsetGet('ROLE');
|
||||
// @see https://datatracker.ietf.org/doc/html/rfc5545#section-3.2.16
|
||||
// Attendees without a role are assumed required and should receive an invitation link even if they have no RSVP set
|
||||
if ($role === null
|
||||
|| (($role instanceof Parameter) && (strcasecmp($role->getValue(), 'REQ-PARTICIPANT') === 0))
|
||||
|| (($role instanceof Parameter) && (strcasecmp($role->getValue(), 'OPT-PARTICIPANT') === 0))
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// RFC 5545 3.2.17: default RSVP is false
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in a new issue