Page MenuHomePhorge

D18.1775332221.diff
No OneTemporary

Authored By
Unknown
Size
3 KB
Referenced Files
None
Subscribers
None

D18.1775332221.diff

Index: akonadi/calendar/scheduler_p.cpp
===================================================================
--- akonadi/calendar/scheduler_p.cpp
+++ akonadi/calendar/scheduler_p.cpp
@@ -275,7 +275,7 @@
incidence->setSchedulingID(schedulingUid, existingUid) ;
if (incidence->hasRecurrenceId()) {
- Incidence::Ptr existingInstance = calendar->incidence(incidence->instanceIdentifier());
+ Incidence::Ptr existingInstance = calendar->incidence(existingUid, incidence->recurrenceId());
if (!existingInstance) {
// The organizer created an exception, lets create it in our calendar, we don't have it yet
const bool success = calendar->addIncidence(incidence);
@@ -312,8 +312,8 @@
}
}
- // Move the uid to be the schedulingID and make a unique UID
- incidence->setSchedulingID(schedulingUid, CalFormat::createUniqueId());
+ // Move the uid to be the schedulingID for make it compatiple with old implemenation
+ incidence->setSchedulingID(schedulingUid);
// notify the user in case this is an update and we didn't find the to-be-updated incidence
if (d->mShowDialogs && existingIncidences.isEmpty() && incidence->revision() > 0) {
KMessageBox::information(
Index: akonadi/calendar/tests/itip_data/invited_us_daily_recid01
===================================================================
--- /dev/null
+++ akonadi/calendar/tests/itip_data/invited_us_daily_recid01
@@ -0,0 +1,21 @@
+BEGIN:VCALENDAR
+PRODID:Zimbra-Calendar-Provider
+VERSION:2.0
+METHOD:REQUEST
+BEGIN:VEVENT
+UID:uosj936i6arrtl9c2i5r2mfuvg
+SUMMARY:exception
+ATTENDEE;RSVP=TRUE;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT;
+ X-UID=140218344167648:mailto:their-email@dev.nul
+ATTENDEE;RSVP=TRUE:mailto:unittests@dev.nul
+ORGANIZER;mailto:their-email@dev.nul
+DTSTART:20131024T000000Z
+DTEND:20131024T010000Z
+STATUS:CONFIRMED
+CLASS:PUBLIC
+TRANSP:OPAQUE
+RECURRENCE-ID:20131023T090000Z
+DTSTAMP:20131026T004419Z
+DESCRIPTION:some explanation
+END:VEVENT
+END:VCALENDAR
\ No newline at end of file
Index: akonadi/calendar/tests/itiphandlertest.cpp
===================================================================
--- akonadi/calendar/tests/itiphandlertest.cpp
+++ akonadi/calendar/tests/itiphandlertest.cpp
@@ -372,7 +372,7 @@
KCalCore::Incidence::Ptr incidence = items.first().payload<KCalCore::Incidence::Ptr>();
QVERIFY(incidence);
QCOMPARE(incidence->schedulingID(), incidenceUid);
- QVERIFY(incidence->schedulingID() != incidence->uid());
+ QCOMPARE(incidence->schedulingID(), incidence->uid());
KCalCore::Attendee::Ptr me = ourAttendee(incidence);
QVERIFY(me);
@@ -457,6 +457,14 @@
invitation_filenames << QLatin1String("invited_us_daily") << QLatin1String("invited_us_daily_update_recid01");
QTest::newRow("accept recid update") << invitation_filenames << expected_filename << actions;
//----------------------------------------------------------------------------------------------
+ // We accept a recurrening event, get an exception accept that too and get an update for the exception afterwards
+ expected_filename = QLatin1String("expected_data/update3");
+ invitation_filenames.clear();
+ invitation_filenames << QLatin1String("invited_us_daily") << QLatin1String("invited_us_daily_recid01") << QLatin1String("invited_us_daily_update_recid01");
+ actions.clear();
+ actions << QLatin1String("accepted") << QLatin1String("accepted") << QLatin1String("accepted");
+ QTest::newRow("accept recid update update") << invitation_filenames << expected_filename << actions;
+ //----------------------------------------------------------------------------------------------
// We accept a recurring event, then we accept a CANCEL with recuring-id.
// The result is that a exception with status CANCELLED should be created, and our main incidence
// should not be touched

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 4, 7:50 PM (20 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18830967
Default Alt Text
D18.1775332221.diff (3 KB)

Event Timeline