See ChangeLog

Monotone-Parent: a81f3635524596f99835829a1a4835f3a7f58c1b
Monotone-Revision: 1306bcb572d16a67199e32e625572c3430d39626

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2008-12-01T19:20:25
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Ludovic Marcotte 2008-12-01 19:20:25 +00:00
parent 5732d7883e
commit e95d7fa39e
4 changed files with 29 additions and 7 deletions

View File

@ -1,3 +1,11 @@
2008-12-01 Ludovic Marcotte <lmarcotte@inverse.ca>
* We now try to match the c_name and c_uid
when creating events from the Web interface.
This can avoid creating duplicate events
with IMIP when calendar refreshes haven't occured
before the accept/decline/tentative actions.
2008-11-29 Ludovic Marcotte <lmarcotte@inverse.ca>
* Updated german translation - patch from

View File

@ -368,6 +368,10 @@
[[newEvent parent] setMethod: @""];
ownerUser = [SOGoUser userWithLogin: owner roles: nil];
// We first save the event. It is important to this initially
// as the event's UID might get modified in SOGoCalendarComponent: -saveComponent:
[super saveComponent: newEvent];
if ([newEvent userIsOrganizer: ownerUser])
{
@ -395,8 +399,6 @@
[self _handleUpdatedEvent: newEvent fromOldEvent: oldEvent];
}
}
[super saveComponent: newEvent];
}
//

View File

@ -409,11 +409,26 @@ _occurenceHasID (iCalRepeatableEntityObject *occurence, NSString *recID)
- (void) saveComponent: (iCalRepeatableEntityObject *) newObject
{
NSString *newiCalString;
NSString *newiCalString, *newUid;
if (!isNew
&& [newObject isRecurrent])
[self _updateRecurrenceIDs];
// As much as we can, we try to use c_name == c_uid in order
// to avoid tricky scenarios with some CalDAV clients. For example,
// if Alice invites Bob (both use SOGo) and Bob accepts the invitation
// using Lightning before having refreshed his calendar, he'll end up
// with a duplicate of the event in his database tables.
if (isNew)
{
newUid = nameInContainer;
if ([newUid hasSuffix: @".ics"])
newUid = [newUid substringToIndex: [newUid length]-4];
[newObject setUid: newUid];
}
newiCalString = [[newObject parent] versitString];
[self saveContentString: newiCalString];

View File

@ -94,10 +94,7 @@ SPAN#allDay > INPUT
{ position: static; }
SPAN.content > INPUT
{ position: absolute;
top: 0px;
left: 0px;
right: 0px; }
{ width: 390px; }
INPUT#startDateCB,
INPUT#dueDateCB,