See ChangeLog
Monotone-Parent: f88d99a5bcea75c289e4a86001d1d294d3dadb9e Monotone-Revision: 3dc6b0849523db031cf866d058ecccbf1ecb98db Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2009-03-24T15:34:15 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
2f93cdd60b
commit
cc21f32490
17
ChangeLog
17
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
2009-03-24 Francis Lachapelle <flachapelle@inverse.ca>
|
||||
|
||||
* SoObjects/Appointments/SOGoCalendarComponent.m
|
||||
([SOGoCalendarComponent
|
||||
-sendEMailUsingTemplateNamed:forObject:previousObject:toAttendees:]):
|
||||
no longer send a deletion notification to an attendee who already
|
||||
declined the meeting.
|
||||
|
||||
* UI/MailPartViewers/UIxMailPartICalActions.m
|
||||
([UIxMailPartICalActions -_eventObjectWithUID:forUser:]): when
|
||||
looking for an event for a specific user, we now search into all
|
||||
the user's calendar folders.
|
||||
|
||||
2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* SoObjects/SOGo/SOGoUser.m ([SOGoUser
|
||||
|
@ -115,8 +128,8 @@
|
|||
* UI/MainUI/SOGoRootPage.m ([SOGoRootPage -version]): new method
|
||||
that returns the application version.
|
||||
|
||||
* iCalDateTime.m ([iCalDateTime -dateTime]): when not defined, the
|
||||
timezone is now guessed from the date of the current object.
|
||||
* SOPE/NGCards/iCalDateTime.m ([iCalDateTime -dateTime]): when not
|
||||
defined, the timezone is now guessed from the date of the current object.
|
||||
|
||||
2009-03-18 Ludovic Marcotte <lmarcotte@inverse.ca>
|
||||
|
||||
|
|
|
@ -9,6 +9,11 @@
|
|||
currentStartDate when instantiated from a copy of firDate, to
|
||||
avoid a leak.
|
||||
|
||||
2009-03-18 Francis Lachapelle <flachapelle@inverse.ca>
|
||||
|
||||
* iCalDateTime.m ([iCalDateTime -dateTime]): when not defined, the
|
||||
timezone is now guessed from the date of the current object.
|
||||
|
||||
2009-02-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* CardElement.m ([CardElement -setParent:aParent]): no longer
|
||||
|
|
|
@ -570,7 +570,11 @@ _occurenceHasID (iCalRepeatableEntityObject *occurence, NSString *recID)
|
|||
for (i = 0; i < count; i++)
|
||||
{
|
||||
attendee = [attendees objectAtIndex: i];
|
||||
if (![[attendee uid] isEqualToString: owner])
|
||||
// Don't send a notification to the event organizer nor a deletion
|
||||
// notification to an attendee who already declined the invitation.
|
||||
if (![[attendee uid] isEqualToString: owner] &&
|
||||
!([[attendee partStat] compare: @"DECLINED"] == NSOrderedSame &&
|
||||
[newPageName compare: @"Deletion"] == NSOrderedSame))
|
||||
{
|
||||
/* construct recipient */
|
||||
recipient = [attendee mailAddress];
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
*/
|
||||
|
||||
#import <Foundation/NSCalendarDate.h>
|
||||
#import <Foundation/NSEnumerator.h>
|
||||
|
||||
#import <NGObjWeb/WOContext+SoObjects.h>
|
||||
#import <NGObjWeb/WOResponse.h>
|
||||
|
@ -41,6 +42,7 @@
|
|||
#import <SoObjects/Appointments/SOGoAppointmentObject.h>
|
||||
#import <SoObjects/Appointments/SOGoAppointmentFolder.h>
|
||||
#import <SoObjects/Mailer/SOGoMailObject.h>
|
||||
#import <SoObjects/SOGo/SOGoParentFolder.h>
|
||||
#import <SoObjects/SOGo/SOGoUser.h>
|
||||
#import <SoObjects/SOGo/iCalEntityObject+Utilities.h>
|
||||
#import <SoObjects/Mailer/SOGoMailBodyPart.h>
|
||||
|
@ -69,27 +71,32 @@
|
|||
- (SOGoAppointmentObject *) _eventObjectWithUID: (NSString *) uid
|
||||
forUser: (SOGoUser *) user
|
||||
{
|
||||
SOGoAppointmentFolder *personalFolder;
|
||||
SOGoAppointmentFolder *folder;
|
||||
SOGoAppointmentObject *eventObject;
|
||||
NSArray *folders;
|
||||
NSEnumerator *e;
|
||||
NSString *cname;
|
||||
|
||||
eventObject = nil;
|
||||
|
||||
#warning Should call lookupCalendarFoldersForUIDs to search among all folders
|
||||
personalFolder = [user personalCalendarFolderInContext: context];
|
||||
cname = [personalFolder resourceNameForEventUID: uid];
|
||||
folders = [[user calendarsFolderInContext: context] subFolders];
|
||||
e = [folders objectEnumerator];
|
||||
while ( eventObject == nil && (folder = [e nextObject]) )
|
||||
{
|
||||
cname = [folder resourceNameForEventUID: uid];
|
||||
if (cname)
|
||||
{
|
||||
eventObject = [personalFolder lookupName: cname
|
||||
eventObject = [folder lookupName: cname
|
||||
inContext: context acquire: NO];
|
||||
if (![eventObject isKindOfClass: [SOGoAppointmentObject class]])
|
||||
eventObject = nil;
|
||||
}
|
||||
}
|
||||
|
||||
if (!eventObject)
|
||||
{
|
||||
eventObject = [SOGoAppointmentObject objectWithName: uid
|
||||
inContainer: personalFolder];
|
||||
inContainer: folder];
|
||||
[eventObject setIsNew: YES];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue