See ChangeLog
Monotone-Parent: 1da41bffe0d25476b6f909fd1621c5026cdf59ee Monotone-Revision: ab9ae63478f08b1ff94c2872ca40ff73a041a9a7 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2009-03-23T21:19:55 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
8715ec448b
commit
71d4126149
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,15 @@
|
||||||
|
2009-03-23 Francis Lachapelle <flachapelle@inverse.ca>
|
||||||
|
|
||||||
|
* SoObjects/Appointments/SOGoAppointmentObject.m
|
||||||
|
([SOGoAppointmentObject -_lookupEvent:forUID:]): when looking for
|
||||||
|
an event for a specific user, we now search into all the user's
|
||||||
|
calendar folders.
|
||||||
|
|
||||||
|
* SoObjects/Appointments/SOGoAppointmentFolder.m
|
||||||
|
([SOGoAppointmentFolder -lookupCalendarFoldersForUID:]): new
|
||||||
|
method that returns an array of a user's calendar folders
|
||||||
|
excluding the subscriptions.
|
||||||
|
|
||||||
2009-03-23 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
2009-03-23 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
* SoObjects/SOGo/SOGoGCSFolder.m ([SOGoGCSFolder
|
* SoObjects/SOGo/SOGoGCSFolder.m ([SOGoGCSFolder
|
||||||
|
@ -16,7 +28,6 @@
|
||||||
* SoObjects/SOGo/SOGoUser.m:
|
* SoObjects/SOGo/SOGoUser.m:
|
||||||
Don't retain/release the language ivar.
|
Don't retain/release the language ivar.
|
||||||
|
|
||||||
|
|
||||||
2009-03-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
2009-03-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
* SoObjects/SOGo/SOGoUser.m ([SOGoUser -language]): cache the
|
* SoObjects/SOGo/SOGoUser.m ([SOGoUser -language]): cache the
|
||||||
|
|
8
NEWS
8
NEWS
|
@ -1,5 +1,9 @@
|
||||||
1.0-20090317
|
1.0-2009
|
||||||
-----------
|
--------
|
||||||
|
- when the status of an attendee changes, the event of an organizer is now updated correctly if it doesn't reside in the personal folder
|
||||||
|
|
||||||
|
1.0-20090317 (1.0.0)
|
||||||
|
---------------
|
||||||
- when double-clicking in the all-day zone (day & week views), the "All Day event" checkbox is now automatically checked
|
- when double-clicking in the all-day zone (day & week views), the "All Day event" checkbox is now automatically checked
|
||||||
- replaced the JavaScript FastInit class by the dom:loaded event of Prototype JS
|
- replaced the JavaScript FastInit class by the dom:loaded event of Prototype JS
|
||||||
- also updated Prototype JS to fix issues with IE7
|
- also updated Prototype JS to fix issues with IE7
|
||||||
|
|
|
@ -107,6 +107,7 @@
|
||||||
inContext: (id) _ctx;
|
inContext: (id) _ctx;
|
||||||
|
|
||||||
- (SOGoAppointmentFolder *) lookupCalendarFolderForUID: (NSString *) uid;
|
- (SOGoAppointmentFolder *) lookupCalendarFolderForUID: (NSString *) uid;
|
||||||
|
- (NSArray *) lookupCalendarFoldersForUID: (NSString *) theUID;
|
||||||
- (NSArray *) lookupCalendarFoldersForUIDs: (NSArray *) _uids
|
- (NSArray *) lookupCalendarFoldersForUIDs: (NSArray *) _uids
|
||||||
inContext: (id) _ctx;
|
inContext: (id) _ctx;
|
||||||
- (NSArray *) lookupFreeBusyObjectsForUIDs: (NSArray *) _uids
|
- (NSArray *) lookupFreeBusyObjectsForUIDs: (NSArray *) _uids
|
||||||
|
|
|
@ -2406,6 +2406,37 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||||
return (SOGoAppointmentFolder *) currentContainer;
|
return (SOGoAppointmentFolder *) currentContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// This method returns an array containing all the calendar folders
|
||||||
|
// of a specific user, excluding her/his subscriptions.
|
||||||
|
//
|
||||||
|
- (NSArray *) lookupCalendarFoldersForUID: (NSString *) theUID
|
||||||
|
{
|
||||||
|
NSArray *aFolders;
|
||||||
|
NSEnumerator *e;
|
||||||
|
NSMutableArray *aUserFolders;
|
||||||
|
SOGoAppointmentFolders *aParent;
|
||||||
|
SOGoFolder *aContainer, *aFolder;
|
||||||
|
|
||||||
|
aUserFolders = [NSMutableArray arrayWithCapacity: 16];
|
||||||
|
aContainer = [[container container] container];
|
||||||
|
aContainer = [aContainer lookupName: theUID
|
||||||
|
inContext: context
|
||||||
|
acquire: NO];
|
||||||
|
aParent = [aContainer lookupName: @"Calendar"
|
||||||
|
inContext: context
|
||||||
|
acquire: NO];
|
||||||
|
aFolders = [aParent subFolders];
|
||||||
|
e = [aFolders objectEnumerator];
|
||||||
|
while ( (aFolder = [e nextObject]) )
|
||||||
|
{
|
||||||
|
if (![aFolder isSubscription])
|
||||||
|
[aUserFolders addObject: aFolder];
|
||||||
|
}
|
||||||
|
|
||||||
|
return aUserFolders;
|
||||||
|
}
|
||||||
|
|
||||||
- (NSArray *) lookupCalendarFoldersForUIDs: (NSArray *) _uids
|
- (NSArray *) lookupCalendarFoldersForUIDs: (NSArray *) _uids
|
||||||
inContext: (id)_ctx
|
inContext: (id)_ctx
|
||||||
{
|
{
|
||||||
|
|
|
@ -173,24 +173,31 @@
|
||||||
{
|
{
|
||||||
SOGoAppointmentFolder *folder;
|
SOGoAppointmentFolder *folder;
|
||||||
SOGoAppointmentObject *object;
|
SOGoAppointmentObject *object;
|
||||||
|
NSArray *folders;
|
||||||
|
NSEnumerator *e;
|
||||||
NSString *possibleName;
|
NSString *possibleName;
|
||||||
|
|
||||||
#warning Should call lookupCalendarFoldersForUIDs to search among all folders
|
object = nil;
|
||||||
folder = [container lookupCalendarFolderForUID: uid];
|
folders = [container lookupCalendarFoldersForUID: uid];
|
||||||
object = [folder lookupName: nameInContainer
|
e = [folders objectEnumerator];
|
||||||
inContext: context acquire: NO];
|
while ( object == nil && (folder = [e nextObject]) )
|
||||||
if ([object isKindOfClass: [NSException class]])
|
|
||||||
{
|
{
|
||||||
possibleName = [folder resourceNameForEventUID: eventUID];
|
object = [folder lookupName: nameInContainer
|
||||||
if (possibleName)
|
inContext: context
|
||||||
|
acquire: NO];
|
||||||
|
if ([object isKindOfClass: [NSException class]])
|
||||||
{
|
{
|
||||||
object = [folder lookupName: possibleName
|
possibleName = [folder resourceNameForEventUID: eventUID];
|
||||||
inContext: context acquire: NO];
|
if (possibleName)
|
||||||
if ([object isKindOfClass: [NSException class]])
|
{
|
||||||
|
object = [folder lookupName: possibleName
|
||||||
|
inContext: context acquire: NO];
|
||||||
|
if ([object isKindOfClass: [NSException class]])
|
||||||
|
object = nil;
|
||||||
|
}
|
||||||
|
else
|
||||||
object = nil;
|
object = nil;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
object = nil;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!object)
|
if (!object)
|
||||||
|
@ -282,7 +289,8 @@
|
||||||
NSString *calendarContent;
|
NSString *calendarContent;
|
||||||
int max, count;
|
int max, count;
|
||||||
|
|
||||||
#warning Should call lookupCalendarFoldersForUIDs to search among all folders
|
// Invitations are always written to the personal folder; it's not necessay
|
||||||
|
// to look into all folders of the user
|
||||||
folder = [container lookupCalendarFolderForUID: theUID];
|
folder = [container lookupCalendarFolderForUID: theUID];
|
||||||
object = [folder lookupName: nameInContainer
|
object = [folder lookupName: nameInContainer
|
||||||
inContext: context acquire: NO];
|
inContext: context acquire: NO];
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 7.7 KiB |
Loading…
Reference in a new issue