mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-10-12 23:37:15 +00:00
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:
1 parent
eba307e5c0
commit
021c061d29
5 files changed
+55
-4
No files matched your search
@@ -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];
|
||||
|
||||
@@ -1608,12 +1608,25 @@ RANGE(2);
|
||||
andClientObject: (SOGoContentObject
|
||||
<SOGoComponentOccurence> *) clientObject
|
||||
{
|
||||
NSString *toolbarFilename;
|
||||
iCalPersonPartStat participationStatus;
|
||||
NSString *toolbarFilename;
|
||||
BOOL isOrganizer;
|
||||
|
||||
// We determine if we're the organizer of the component beeing modified.
|
||||
// If we created an event on behalf of someone else -userIsOrganizer will
|
||||
// return us YES. This is OK because we're in the SENT-BY. But, Alice
|
||||
// should be able to accept/decline an invitation if she created the event
|
||||
// in Bob's calendar and added herself in the attendee list.
|
||||
isOrganizer = [component userIsOrganizer: ownerUser];
|
||||
|
||||
if (isOrganizer)
|
||||
{
|
||||
isOrganizer = ![ownerUser hasEmail: [[component organizer] sentBy]];
|
||||
}
|
||||
|
||||
if ([[component attendees] count]
|
||||
&& [component userIsParticipant: ownerUser]
|
||||
&& ![component userIsOrganizer: ownerUser])
|
||||
&& !isOrganizer)
|
||||
{
|
||||
participationStatus
|
||||
= [[component findParticipant: ownerUser] participationStatus];
|
||||
|
||||
Reference in new issue
Block a user