From 6a65eb359b05da11bacbdd35fe8206c45d12c4b5 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 15 Feb 2011 19:00:40 +0000 Subject: [PATCH] See ChangeLog Monotone-Parent: 2c4d3e7457a36602400b6dd3bfb34b34fa47e606 Monotone-Revision: 1a11794c7fbd8ad9ba3eff5fdc2d1716a84efb62 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2011-02-15T19:00:40 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 8 ++++ .../Appointments/SOGoCalendarComponent.m | 37 +++++++++++++------ 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9d0a3c979..62a76c11a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-02-15 Ludovic Marcotte + + * SoObjects/Appointments/SOGoCalendarComponent.m + We add extra verifications before trying to instantiate + SOGoEMailAlarmsManager in order to make sure + SOGoEnableEMailAlarms was set to YES prior doing this. + This fixes bug #1079. + 2011-02-14 Francis Lachapelle * UI/Scheduler/UIxDatePicker.m diff --git a/SoObjects/Appointments/SOGoCalendarComponent.m b/SoObjects/Appointments/SOGoCalendarComponent.m index fd5dcc0df..3ad472641 100644 --- a/SoObjects/Appointments/SOGoCalendarComponent.m +++ b/SoObjects/Appointments/SOGoCalendarComponent.m @@ -52,6 +52,7 @@ #import #import #import +#import #import #import #import @@ -591,7 +592,6 @@ static inline BOOL _occurenceHasID (iCalRepeatableEntityObject *occurence, - (void) saveComponent: (iCalRepeatableEntityObject *) newObject { NSString *newiCalString, *newUid; - SOGoEMailAlarmsManager *eaMgr; if (!isNew && [newObject isRecurrent]) @@ -613,9 +613,14 @@ static inline BOOL _occurenceHasID (iCalRepeatableEntityObject *occurence, [newObject setUid: newUid]; } - eaMgr = [SOGoEMailAlarmsManager sharedEMailAlarmsManager]; - [eaMgr handleAlarmsInCalendar: [newObject parent] - fromComponent: self]; + if ([[SOGoSystemDefaults sharedSystemDefaults] enableEMailAlarms]) + { + SOGoEMailAlarmsManager *eaMgr; + + eaMgr = [SOGoEMailAlarmsManager sharedEMailAlarmsManager]; + [eaMgr handleAlarmsInCalendar: [newObject parent] + fromComponent: self]; + } newiCalString = [[newObject parent] versitString]; @@ -1170,25 +1175,33 @@ static inline BOOL _occurenceHasID (iCalRepeatableEntityObject *occurence, #warning alarms: we don not handle occurrences - (NSException *) prepareDelete { - SOGoEMailAlarmsManager *eaMgr; - - eaMgr = [SOGoEMailAlarmsManager sharedEMailAlarmsManager]; - [eaMgr deleteAlarmsFromComponent: self]; + if ([[SOGoSystemDefaults sharedSystemDefaults] enableEMailAlarms]) + { + SOGoEMailAlarmsManager *eaMgr; + + eaMgr = [SOGoEMailAlarmsManager sharedEMailAlarmsManager]; + [eaMgr deleteAlarmsFromComponent: self]; + } return nil; } - (id) PUTAction: (WOContext *) localContext { - SOGoEMailAlarmsManager *eaMgr; WORequest *rq; iCalCalendar *putCalendar; rq = [localContext request]; putCalendar = [iCalCalendar parseSingleFromSource: [rq contentAsString]]; - eaMgr = [SOGoEMailAlarmsManager sharedEMailAlarmsManager]; - [eaMgr handleAlarmsInCalendar: putCalendar - fromComponent: self]; + + if ([[SOGoSystemDefaults sharedSystemDefaults] enableEMailAlarms]) + { + SOGoEMailAlarmsManager *eaMgr; + + eaMgr = [SOGoEMailAlarmsManager sharedEMailAlarmsManager]; + [eaMgr handleAlarmsInCalendar: putCalendar + fromComponent: self]; + } return [super PUTAction: localContext]; }