Bug 417629 Import ICS file to CalDAV server fails to handle recurrence-id correctly, r=dbo
git-svn-id: svn://10.0.0.236/trunk@250966 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -421,9 +421,7 @@ calDavCalendar.prototype = {
|
||||
aItem.calendar = this.superCalendar;
|
||||
aItem.generation = 1;
|
||||
|
||||
// LOG("icalString = " + aItem.icalString);
|
||||
|
||||
var httpchannel = this.prepChannel(itemUri, aItem.icalString,
|
||||
var httpchannel = this.prepChannel(itemUri, this.getSerializedItem(aItem),
|
||||
"text/calendar; charset=utf-8");
|
||||
|
||||
|
||||
@@ -497,16 +495,7 @@ calDavCalendar.prototype = {
|
||||
var modListener = {};
|
||||
var thisCalendar = this;
|
||||
|
||||
var modifiedItem = getIcsService().createIcalComponent("VCALENDAR");
|
||||
calSetProdidVersion(modifiedItem);
|
||||
modifiedItem.addSubcomponent(aNewItem.icalComponent);
|
||||
if (aNewItem.recurrenceInfo) {
|
||||
var exceptions = aNewItem.recurrenceInfo.getExceptionIds({});
|
||||
for each (var exc in exceptions) {
|
||||
modifiedItem.addSubcomponent(aNewItem.recurrenceInfo.getExceptionFor(exc, true).icalComponent);
|
||||
}
|
||||
}
|
||||
var modifiedItemICS = modifiedItem.serializeToICS();
|
||||
var modifiedItemICS = this.getSerializedItem(aNewItem);
|
||||
|
||||
modListener.onStreamComplete = function(aLoader, aContext, aStatus,
|
||||
aResultLength, aResult) {
|
||||
@@ -1817,6 +1806,13 @@ calDavCalendar.prototype = {
|
||||
return aString;
|
||||
},
|
||||
|
||||
getSerializedItem: function caldav_getSerializedItem(aItem) {
|
||||
var serializer = Components.classes["@mozilla.org/calendar/ics-serializer;1"]
|
||||
.createInstance(Components.interfaces.calIIcsSerializer);
|
||||
serializer.addItems([aItem], 1);
|
||||
return serializer.serializeToString();
|
||||
},
|
||||
|
||||
// stubs to keep callbacks we don't support yet from throwing errors
|
||||
// we don't care about
|
||||
// nsIProgressEventSink
|
||||
|
||||
Reference in New Issue
Block a user