Monotone-Parent: 3a085f426d0d1d08eb05a5e1cc11cb42d8ea82d4

Monotone-Revision: 8a8e7d68b4c6cc0ee67c2aa92e9417ba89858e50

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-11-08T19:56:18
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2007-11-08 19:56:18 +00:00
parent 31f1102520
commit b9c25cf29d
5 changed files with 260 additions and 175 deletions

View File

@ -47,6 +47,7 @@
#import <SoObjects/SOGo/SOGoUserFolder.h> #import <SoObjects/SOGo/SOGoUserFolder.h>
#import <SoObjects/SOGo/SOGoUser.h> #import <SoObjects/SOGo/SOGoUser.h>
#import <SoObjects/SOGo/SOGoWebAuthenticator.h> #import <SoObjects/SOGo/SOGoWebAuthenticator.h>
#import <SoObjects/SOGo/WORequest+SOGo.h>
#import "build.h" #import "build.h"
#import "SOGoProductLoader.h" #import "SOGoProductLoader.h"
@ -236,13 +237,11 @@ static BOOL debugObjectAllocation = NO;
- (id) authenticatorInContext: (WOContext *) context - (id) authenticatorInContext: (WOContext *) context
{ {
id authenticator; id authenticator;
NSString *key;
key = [[context request] requestHandlerKey]; if ([[context request] handledByDefaultHandler])
if ([key isEqualToString: @"dav"])
authenticator = [SOGoDAVAuthenticator sharedSOGoDAVAuthenticator];
else
authenticator = [SOGoWebAuthenticator sharedSOGoWebAuthenticator]; authenticator = [SOGoWebAuthenticator sharedSOGoWebAuthenticator];
else
authenticator = [SOGoDAVAuthenticator sharedSOGoDAVAuthenticator];
return authenticator; return authenticator;
} }

View File

@ -22,6 +22,7 @@
#import <Foundation/NSCalendarDate.h> #import <Foundation/NSCalendarDate.h>
#import <NGObjWeb/NSException+HTTP.h> #import <NGObjWeb/NSException+HTTP.h>
#import <NGObjWeb/WOContext.h>
#import <NGExtensions/NSNull+misc.h> #import <NGExtensions/NSNull+misc.h>
#import <NGExtensions/NSObject+Logs.h> #import <NGExtensions/NSObject+Logs.h>
#import <NGCards/iCalCalendar.h> #import <NGCards/iCalCalendar.h>
@ -32,6 +33,7 @@
#import <SoObjects/SOGo/LDAPUserManager.h> #import <SoObjects/SOGo/LDAPUserManager.h>
#import <SoObjects/SOGo/SOGoObject.h> #import <SoObjects/SOGo/SOGoObject.h>
#import <SoObjects/SOGo/SOGoPermissions.h> #import <SoObjects/SOGo/SOGoPermissions.h>
#import <SoObjects/SOGo/WORequest+SOGo.h>
#import "NSArray+Appointments.h" #import "NSArray+Appointments.h"
#import "SOGoAppointmentFolder.h" #import "SOGoAppointmentFolder.h"
@ -196,6 +198,8 @@
NSException *storeError, *delError; NSException *storeError, *delError;
BOOL updateForcesReconsider; BOOL updateForcesReconsider;
if ([[context request] handledByDefaultHandler])
{
updateForcesReconsider = NO; updateForcesReconsider = NO;
if ([_iCal length] == 0) if ([_iCal length] == 0)
@ -217,7 +221,6 @@
oldApt = (iCalEvent *) [self component: NO]; oldApt = (iCalEvent *) [self component: NO];
/* compare sequence if requested */ /* compare sequence if requested */
if (_v != 0) { if (_v != 0) {
// TODO // TODO
} }
@ -343,11 +346,15 @@
[cancelledApt release]; [cancelledApt release];
} }
} }
}
else
[self primarySaveContentString: _iCal];
return nil; return nil;
} }
- (NSException *)deleteWithBaseSequence:(int)_v { - (NSException *) deleteWithBaseSequence: (int)_v
{
/* /*
Note: We need to delete in all participants folders and send iMIP messages Note: We need to delete in all participants folders and send iMIP messages
for all external accounts. for all external accounts.
@ -364,9 +371,11 @@
*/ */
iCalEvent *apt; iCalEvent *apt;
NSMutableArray *attendees, *removedUIDs; NSMutableArray *attendees, *removedUIDs;
NSException *error;
if ([[context request] handledByDefaultHandler])
{
/* load existing content */ /* load existing content */
apt = (iCalEvent *) [self component: NO]; apt = (iCalEvent *) [self component: NO];
/* compare sequence if requested */ /* compare sequence if requested */
@ -401,9 +410,12 @@
toAttendees: attendees]; toAttendees: attendees];
} }
/* perform */ error = [self deleteInUIDs: removedUIDs];
}
else
error = [self primaryDelete];
return [self deleteInUIDs: removedUIDs]; return error;
} }
- (NSException *) saveContentString: (NSString *) _iCalString - (NSException *) saveContentString: (NSString *) _iCalString

View File

@ -48,6 +48,8 @@ libSOGo_HEADER_FILES = \
SOGoWebAuthenticator.h \ SOGoWebAuthenticator.h \
SOGoMailer.h \ SOGoMailer.h \
SOGoUser.h \ SOGoUser.h \
\
WORequest+SOGo.h
libSOGo_OBJC_FILES = \ libSOGo_OBJC_FILES = \
SOGoObject.m \ SOGoObject.m \
@ -79,6 +81,8 @@ libSOGo_OBJC_FILES = \
SOGoWebAuthenticator.m \ SOGoWebAuthenticator.m \
SOGoMailer.m \ SOGoMailer.m \
SOGoUser.m \ SOGoUser.m \
\
WORequest+SOGo.m
# tools # tools

View File

@ -0,0 +1,34 @@
/* WORequest+SOGo.h - this file is part of SOGo
*
* Copyright (C) 2007 Inverse groupe conseil
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef WOREQUEST_SOGo_H
#define WOREQUEST_SOGo_H
#import <NGObjWeb/WORequest.h>
@interface WORequest (SOGoSOPEUtilities)
- (BOOL) handledByDefaultHandler;
@end
#endif /* WOREQUEST_SOGo_H */

View File

@ -0,0 +1,36 @@
/* WORequest+SOGo.m - this file is part of SOGo
*
* Copyright (C) 2007 Inverse groupe conseil
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#import <NGObjWeb/SoObjectRequestHandler.h>
#import <NGObjWeb/WOApplication.h>
#import "WORequest+SOGo.h"
@implementation WORequest (SOGoSOPEUtilities)
- (BOOL) handledByDefaultHandler
{
#warning this should be changed someday
return (![requestHandlerKey isEqualToString: @"dav"]);
}
@end