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:
commit
619ca36d1e
|
@ -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
|
||||
|
|
|
@ -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)];
|
||||
}
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -68,6 +68,9 @@
|
|||
[calendar addTimeZone: iTZ];
|
||||
newTZId = [iTZ tzId];
|
||||
}
|
||||
else
|
||||
newTZId = nil;
|
||||
|
||||
[self setValue: 0 ofAttribute: @"tzid" to: newTZId];
|
||||
[self setDateTime: dateTime];
|
||||
}
|
||||
|
|
|
@ -59,7 +59,6 @@
|
|||
- (id) partInfo;
|
||||
- (NSData *) fetchBLOB;
|
||||
- (void) setAsAttachment;
|
||||
- (BOOL) asAttachment;
|
||||
|
||||
/* factory */
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -36,4 +36,10 @@
|
|||
|
||||
@end
|
||||
|
||||
@interface NSMutableArray (SOGoEventComparison)
|
||||
|
||||
- (void) reverseArray;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* NSARRAY_SCHEDULER_H */
|
||||
|
|
|
@ -139,3 +139,12 @@
|
|||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation NSMutableArray (SOGoEventComparison)
|
||||
|
||||
- (void) reverseArray
|
||||
{
|
||||
[self setArray: [self reversedArray]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
Loading…
Reference in a new issue