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
This commit is contained in:
parent
5732d7883e
commit
e95d7fa39e
|
@ -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
|
||||
|
|
|
@ -369,6 +369,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])
|
||||
{
|
||||
if ([self isNew])
|
||||
|
@ -395,8 +399,6 @@
|
|||
[self _handleUpdatedEvent: newEvent fromOldEvent: oldEvent];
|
||||
}
|
||||
}
|
||||
|
||||
[super saveComponent: newEvent];
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in a new issue