See ChangeLog

Monotone-Parent: 1fc6240dbb88ca9e470be6d2679ee8e3e10e4f4f
Monotone-Revision: b9443420fc607bc2c0d8c6a5cff48fda3c68f7e6

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2008-11-26T16:26:32
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Ludovic Marcotte
2008-11-26 16:26:32 +00:00
parent eba307e5c0
commit 021c061d29
5 changed files with 55 additions and 4 deletions
+25
View File
@@ -292,16 +292,41 @@
return result;
}
//
// This method needs to carefully handle the following cases :
//
// A- Alice creates an event in her calendar
// B- Alice creates an event in Bob's calendar (and invites herself or not)
// C- Alice moves an event to an other calendar
//
- (id <WOActionResults>) saveAction
{
SOGoAppointmentFolder *thisFolder;
SOGoAppointmentObject *co;
SoSecurityManager *sm;
NSException *ex;
NSString *aOwner;
// See A.
co = [self clientObject];
if (componentCalendar)
{
aOwner = [componentCalendar ownerInContext: context];
// See B.
if (![aOwner isEqualToString: [[context activeUser] login]])
{
co = [componentCalendar lookupName: [co nameInContainer]
inContext: context
acquire: NO];
}
}
// We save the component
[co saveComponent: event];
// See C.
if (componentCalendar)
{
sm = [SoSecurityManager sharedSecurityManager];