mirror of
https://github.com/stalwartlabs/mail-server.git
synced 2025-10-09 20:15:47 +08:00
iTIP: Include event details in REPLY messages (fixes #2102)
This commit is contained in:
parent
e13916663d
commit
68d02a6df7
5 changed files with 25 additions and 2 deletions
|
@ -318,6 +318,23 @@ pub(crate) fn attendee_decline<'x>(
|
||||||
cancel_comp.add_uid(itip.uid);
|
cancel_comp.add_uid(itip.uid);
|
||||||
cancel_comp.add_dtstamp(dt_stamp.clone());
|
cancel_comp.add_dtstamp(dt_stamp.clone());
|
||||||
cancel_comp.add_sequence(comp.sequence.unwrap_or_default());
|
cancel_comp.add_sequence(comp.sequence.unwrap_or_default());
|
||||||
|
cancel_comp.entries.extend(
|
||||||
|
component
|
||||||
|
.entries
|
||||||
|
.iter()
|
||||||
|
.filter(|e| {
|
||||||
|
matches!(
|
||||||
|
e.name,
|
||||||
|
ICalendarProperty::Dtstart
|
||||||
|
| ICalendarProperty::Dtend
|
||||||
|
| ICalendarProperty::Duration
|
||||||
|
| ICalendarProperty::Due
|
||||||
|
| ICalendarProperty::Description
|
||||||
|
| ICalendarProperty::Summary
|
||||||
|
)
|
||||||
|
})
|
||||||
|
.cloned(),
|
||||||
|
);
|
||||||
|
|
||||||
if let InstanceId::Recurrence(recurrence_id) = instance_id {
|
if let InstanceId::Recurrence(recurrence_id) = instance_id {
|
||||||
cancel_comp
|
cancel_comp
|
||||||
|
|
|
@ -148,6 +148,7 @@ pub(crate) fn build_cancel_component(
|
||||||
| ICalendarProperty::Summary
|
| ICalendarProperty::Summary
|
||||||
| ICalendarProperty::Dtstart
|
| ICalendarProperty::Dtstart
|
||||||
| ICalendarProperty::Dtend
|
| ICalendarProperty::Dtend
|
||||||
|
| ICalendarProperty::Duration
|
||||||
| ICalendarProperty::Due
|
| ICalendarProperty::Due
|
||||||
| ICalendarProperty::RecurrenceId
|
| ICalendarProperty::RecurrenceId
|
||||||
| ICalendarProperty::Created
|
| ICalendarProperty::Created
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use crate::scheduling::{ArchivedItipSummary, ItipMessage, ItipMessages};
|
||||||
use calcard::{
|
use calcard::{
|
||||||
common::PartialDateTime,
|
common::PartialDateTime,
|
||||||
icalendar::{
|
icalendar::{
|
||||||
|
@ -18,8 +19,6 @@ use store::{
|
||||||
};
|
};
|
||||||
use trc::AddContext;
|
use trc::AddContext;
|
||||||
|
|
||||||
use crate::scheduling::{ArchivedItipSummary, ItipMessage, ItipMessages};
|
|
||||||
|
|
||||||
pub(crate) fn itip_build_envelope(method: ICalendarMethod) -> ICalendarComponent {
|
pub(crate) fn itip_build_envelope(method: ICalendarMethod) -> ICalendarComponent {
|
||||||
ICalendarComponent {
|
ICalendarComponent {
|
||||||
component_type: ICalendarComponentType::VCalendar,
|
component_type: ICalendarComponentType::VCalendar,
|
||||||
|
|
|
@ -856,6 +856,9 @@ METHOD:REPLY
|
||||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||||
VERSION:2.0
|
VERSION:2.0
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
|
SUMMARY:Review Accounts
|
||||||
|
DTEND:19980303T220000Z
|
||||||
|
DTSTART:19980303T210000Z
|
||||||
ATTENDEE;PARTSTAT=DECLINED:mailto:b@example.com
|
ATTENDEE;PARTSTAT=DECLINED:mailto:b@example.com
|
||||||
ORGANIZER:mailto:a@example.com
|
ORGANIZER:mailto:a@example.com
|
||||||
UID:123456789@example.com
|
UID:123456789@example.com
|
||||||
|
|
|
@ -340,6 +340,9 @@ METHOD:REPLY
|
||||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||||
VERSION:2.0
|
VERSION:2.0
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
|
SUMMARY:Review Internet-Draft
|
||||||
|
DTEND;TZID=America/Montreal:20090601T160000
|
||||||
|
DTSTART;TZID=America/Montreal:20090601T150000
|
||||||
ATTENDEE;PARTSTAT=DECLINED:mailto:bernard@example.net
|
ATTENDEE;PARTSTAT=DECLINED:mailto:bernard@example.net
|
||||||
ORGANIZER:mailto:cyrus@example.com
|
ORGANIZER:mailto:cyrus@example.com
|
||||||
RECURRENCE-ID;TZID=America/Montreal:20090603T150000
|
RECURRENCE-ID;TZID=America/Montreal:20090603T150000
|
||||||
|
|
Loading…
Add table
Reference in a new issue