merge of '67bda357e8c25b79b6b024c6a8a779918c63ab3e'

and '772069a4679fa8b05adc4dc49b2087230a05669c'

Monotone-Parent: 67bda357e8c25b79b6b024c6a8a779918c63ab3e
Monotone-Parent: 772069a4679fa8b05adc4dc49b2087230a05669c
Monotone-Revision: b18975047f69436053c859a6b62916e650ac6f8b

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2007-12-17T15:33:19
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle 2007-12-17 15:33:19 +00:00
commit 619ca36d1e
16 changed files with 164 additions and 25 deletions

View file

@ -1,3 +1,8 @@
2007-12-17 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/Scheduler/NSArray+Scheduler.m ([NSMutableArray
-reverseArray]): new category method.
2007-12-14 Ludovic Marcotte <ludovic@inverse.ca>
* SoObjects/Appointments/SOGoCalendarComponent.m

View file

@ -96,6 +96,7 @@
else {
[self errorWithFormat:@"%s: unsupported operation for null: %@",
__PRETTY_FUNCTION__, NSStringFromSelector(op)];
qOperator = @"=";
}
if ([val isKindOfClass:[NSNumber class]])
@ -109,6 +110,7 @@
}
}
else {
isCI = NO;
if (sel_eq(op, EOQualifierOperatorEqual)) {
qOperator = @"IS";
qValue = @"NULL";
@ -118,6 +120,8 @@
qValue = @"NULL";
}
else {
qOperator = @"IS";
qValue = @"NULL";
[self errorWithFormat:@"%s: invalid operation for null: %@",
__PRETTY_FUNCTION__, NSStringFromSelector(op)];
}

View file

@ -757,7 +757,9 @@ static GCSStringFormatter *stringFormatter = nil;
[self errorWithFormat:@"could not open storage channel!"];
return nil;
}
if (!self->ofFlags.sameTableForQuick) {
if (!self->ofFlags.sameTableForQuick)
quickChannel = nil;
else {
if ((quickChannel = [self acquireQuickChannel]) == nil) {
[self errorWithFormat:@"could not open quick channel!"];
[self releaseChannel:storeChannel];
@ -1103,25 +1105,25 @@ static GCSStringFormatter *stringFormatter = nil;
[sql appendString:[self aclTableName]];
[sql appendString:@" WHERE "];
[sql appendString:[self generateSQLForQualifier:qualifier]];
}
/* open channel */
/* open channel */
if ((channel = [self acquireAclChannel]) == nil) {
[self errorWithFormat:@"could not open acl channel!"];
return;
}
if ((channel = [self acquireAclChannel]) == nil) {
[self errorWithFormat:@"could not open acl channel!"];
return;
}
/* run SQL */
if ((error = [channel evaluateExpressionX:sql]) != nil) {
[self errorWithFormat:@"%s: cannot execute acl-fetch SQL '%@': %@",
/* run SQL */
if ((error = [channel evaluateExpressionX:sql]) != nil) {
[self errorWithFormat:@"%s: cannot execute acl-fetch SQL '%@': %@",
__PRETTY_FUNCTION__, sql, error];
[self releaseChannel:channel];
return;
}
[self releaseChannel:channel];
return;
}
[self releaseChannel:channel];
[self releaseChannel:channel];
}
}
/* description */

View file

@ -68,6 +68,9 @@
[calendar addTimeZone: iTZ];
newTZId = [iTZ tzId];
}
else
newTZId = nil;
[self setValue: 0 ofAttribute: @"tzid" to: newTZId];
[self setDateTime: dateTime];
}

View file

@ -59,7 +59,6 @@
- (id) partInfo;
- (NSData *) fetchBLOB;
- (void) setAsAttachment;
- (BOOL) asAttachment;
/* factory */

View file

@ -470,11 +470,87 @@
public folder and the groups folder.
*/
NSArray *tag;
SOGoAppointmentFolders *parent;
parent = [self privateCalendars: @"Calendar" inContext: context];
tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
[self baseURLInContext: context], nil];
[parent davURL], nil];
return [NSArray arrayWithObject: tag];
}
// - (NSArray *) davCalendarUserAddressSet
// {
// NSArray *tag, *allEmails;
// NSMutableArray *addresses;
// NSEnumerator *emails;
// NSString *currentEmail;
// addresses = [NSMutableArray array];
// allEmails = [[context activeUser] allEmails];
// emails = [allEmails objectEnumerator];
// while ((currentEmail = [emails nextObject]))
// {
// tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
// [NSString stringWithFormat: @"MAILTO:%@", currentEmail],
// nil];
// [addresses addObject: tag];
// }
// return addresses;
// }
// - (NSArray *) davCalendarScheduleInboxURL
// {
// NSArray *tag;
// SOGoAppointmentFolders *parent;
// parent = [self privateCalendars: @"Calendar" inContext: context];
// tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
// [NSString stringWithFormat: @"%@personal/", [parent davURL]],
// nil];
// return [NSArray arrayWithObject: tag];
// }
// - (NSString *) davCalendarScheduleOutboxURL
// {
// NSArray *tag;
// SOGoAppointmentFolders *parent;
// parent = [self privateCalendars: @"Calendar" inContext: context];
// tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
// [NSString stringWithFormat: @"%@personal/", [parent davURL]],
// nil];
// return [NSArray arrayWithObject: tag];
// }
// - (NSString *) davDropboxHomeURL
// {
// NSArray *tag;
// SOGoAppointmentFolders *parent;
// parent = [self privateCalendars: @"Calendar" inContext: context];
// tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
// [NSString stringWithFormat: @"%@personal/", [parent davURL]],
// nil];
// return [NSArray arrayWithObject: tag];
// }
// - (NSString *) davNotificationsURL
// {
// NSArray *tag;
// SOGoAppointmentFolders *parent;
// parent = [self privateCalendars: @"Calendar" inContext: context];
// tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
// [NSString stringWithFormat: @"%@personal/", [parent davURL]],
// nil];
// return [NSArray arrayWithObject: tag];
// }
@end /* SOGoUserFolder */

View file

@ -92,7 +92,7 @@
- (BOOL) couldParseCalendar
{
return (([self inCalendar]));
return ([self inCalendar] != nil);
}
- (iCalEvent *) inEvent
@ -246,7 +246,7 @@
- (BOOL) isEventStoredInCalendar
{
return (([self storedEventObject]));
return ([self storedEventObject] != nil);
}
- (iCalEvent *) storedEvent
@ -376,7 +376,7 @@
- (BOOL) isReplySenderAnAttendee
{
return (([self storedReplyAttendee]));
return ([self storedReplyAttendee] != nil);
}
- (iCalPerson *) _emailParticipantWithEvent: (iCalEvent *) event

View file

@ -20,8 +20,10 @@
*/
#import <Foundation/NSUserDefaults.h>
#import <NGObjWeb/WOContext.h>
#import <NGObjWeb/WORequest.h>
#import <NGObjWeb/WOResponse.h>
#import <NGObjWeb/SoComponent.h>
#import <NGExtensions/NSString+misc.h>

View file

@ -59,6 +59,12 @@
@end
@interface SOGoACLModificationAdvisory : SOGoACLAdvisory
- (NSString *) aclMethod;
@end
@interface SOGoACLEnglishAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@ -68,13 +74,13 @@
@interface SOGoACLGermanAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLEnglishModificationAdvisory : SOGoACLAdditionAdvisory
@interface SOGoACLEnglishModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLFrenchModificationAdvisory : SOGoACLAdditionAdvisory
@interface SOGoACLFrenchModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLGermanModificationAdvisory : SOGoACLAdditionAdvisory
@interface SOGoACLGermanModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLEnglishRemovalAdvisory : SOGoACLRemovalAdvisory

View file

@ -20,6 +20,8 @@
* Boston, MA 02111-1307, USA.
*/
#import <Foundation/NSURL.h>
#import <NGObjWeb/WOResponse.h>
#import <NGExtensions/NGHashMap.h>
#import <NGMail/NGMimeMessage.h>

View file

@ -36,4 +36,10 @@
@end
@interface NSMutableArray (SOGoEventComparison)
- (void) reverseArray;
@end
#endif /* NSARRAY_SCHEDULER_H */

View file

@ -139,3 +139,12 @@
}
@end
@implementation NSMutableArray (SOGoEventComparison)
- (void) reverseArray
{
[self setArray: [self reversedArray]];
}
@end

View file

@ -24,6 +24,7 @@
#import <NGObjWeb/SoObject.h>
#import <NGObjWeb/WORequest.h>
#import <NGObjWeb/WOResponse.h>
#import <NGObjWeb/NSException+HTTP.h>
#import <NGExtensions/NSCalendarDate+misc.h>

View file

@ -344,7 +344,8 @@
[newEvent addObject: [self _formattedDateForSeconds: interval
forAllDay: isAllDay]];
participants = state = nil;
participants = nil;
state = nil;
if ([[oldEvent objectAtIndex: 9] length] > 0 &&
[[oldEvent objectAtIndex: 10] length] > 0) {
participants = [[oldEvent objectAtIndex: 9] componentsSeparatedByString: @"\n"];
@ -389,7 +390,7 @@
ascending = [[context request] formValueForKey: @"asc"];
if (![ascending boolValue])
newEvents = [newEvents reversedArray];
[newEvents reverseArray];
return [self _responseWithData: newEvents];
}

View file

@ -1,8 +1,30 @@
/* UIxCalMainView.m - this file is part of SOGo
*
* Copyright (C) 2006, 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 <OGoContentStore/OCSFolder.h>
#import <NGObjWeb/SoSecurityManager.h>
#import <NGObjWeb/SoUser.h>
#import <NGObjWeb/WOResponse.h>
#import <NGExtensions/NGCalendarDateRange.h>
#import <NGExtensions/NSCalendarDate+misc.h>
#import <NGExtensions/NSNull+misc.h>

View file

@ -22,6 +22,7 @@
#import <NGObjWeb/SoObject.h>
#import <NGObjWeb/WORequest.h>
#import <NGObjWeb/WOResponse.h>
#import <NGObjWeb/NSException+HTTP.h>
#import <NGExtensions/NSCalendarDate+misc.h>