(fix) don't update c_nextalarm in quick table for email alarms
This commit is contained in:
parent
a45d8c68f8
commit
fb7a83f44a
|
@ -692,6 +692,8 @@ NSNumber *iCalDistantFutureNumber = nil;
|
||||||
GCSAlarmsFolder *af;
|
GCSAlarmsFolder *af;
|
||||||
NSString *path;
|
NSString *path;
|
||||||
|
|
||||||
|
int alarm_number;
|
||||||
|
|
||||||
if ([[SOGoSystemDefaults sharedSystemDefaults] enableEMailAlarms])
|
if ([[SOGoSystemDefaults sharedSystemDefaults] enableEMailAlarms])
|
||||||
{
|
{
|
||||||
af = [[GCSFolderManager defaultFolderManager] alarmsFolder];
|
af = [[GCSFolderManager defaultFolderManager] alarmsFolder];
|
||||||
|
@ -704,6 +706,7 @@ NSNumber *iCalDistantFutureNumber = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
nextAlarmDate = nil;
|
nextAlarmDate = nil;
|
||||||
|
alarm_number = -1;
|
||||||
|
|
||||||
if ([self hasAlarms])
|
if ([self hasAlarms])
|
||||||
{
|
{
|
||||||
|
@ -736,15 +739,13 @@ NSNumber *iCalDistantFutureNumber = nil;
|
||||||
nextAlarmDate = nil;
|
nextAlarmDate = nil;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int alarmNbr;
|
alarm_number = [[self alarms] indexOfObject: anAlarm];
|
||||||
|
|
||||||
alarmNbr = [[self alarms] indexOfObject: anAlarm];
|
|
||||||
|
|
||||||
[af writeRecordForEntryWithCName: nameInContainer
|
[af writeRecordForEntryWithCName: nameInContainer
|
||||||
inCalendarAtPath: path
|
inCalendarAtPath: path
|
||||||
forUID: [self uid]
|
forUID: [self uid]
|
||||||
recurrenceId: nil
|
recurrenceId: nil
|
||||||
alarmNumber: [NSNumber numberWithInt: alarmNbr]
|
alarmNumber: [NSNumber numberWithInt: alarm_number]
|
||||||
andAlarmDate: nextAlarmDate];
|
andAlarmDate: nextAlarmDate];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -832,16 +833,14 @@ NSNumber *iCalDistantFutureNumber = nil;
|
||||||
}
|
}
|
||||||
else if ((anAlarm = [self firstEmailAlarm]) && af)
|
else if ((anAlarm = [self firstEmailAlarm]) && af)
|
||||||
{
|
{
|
||||||
int alarmNbr;
|
|
||||||
|
|
||||||
nextAlarmDate = [NSDate dateWithTimeIntervalSince1970: [[[alarms objectAtIndex: i] objectForKey: @"c_nextalarm"] intValue]];
|
nextAlarmDate = [NSDate dateWithTimeIntervalSince1970: [[[alarms objectAtIndex: i] objectForKey: @"c_nextalarm"] intValue]];
|
||||||
alarmNbr = [[self alarms] indexOfObject: anAlarm];
|
alarm_number = [[self alarms] indexOfObject: anAlarm];
|
||||||
|
|
||||||
[af writeRecordForEntryWithCName: nameInContainer
|
[af writeRecordForEntryWithCName: nameInContainer
|
||||||
inCalendarAtPath: path
|
inCalendarAtPath: path
|
||||||
forUID: [self uid]
|
forUID: [self uid]
|
||||||
recurrenceId: [self recurrenceId]
|
recurrenceId: [self recurrenceId]
|
||||||
alarmNumber: [NSNumber numberWithInt: alarmNbr]
|
alarmNumber: [NSNumber numberWithInt: alarm_number]
|
||||||
andAlarmDate: nextAlarmDate];
|
andAlarmDate: nextAlarmDate];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -851,15 +850,18 @@ NSNumber *iCalDistantFutureNumber = nil;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ([nextAlarmDate isNotNull])
|
// Don't update c_nextalarm in the quick table if it's an email alarm
|
||||||
[row setObject: [NSNumber numberWithInt: [nextAlarmDate timeIntervalSince1970]]
|
if ([nextAlarmDate isNotNull] && alarm_number < 0)
|
||||||
forKey: @"c_nextalarm"];
|
{
|
||||||
|
[row setObject: [NSNumber numberWithInt: [nextAlarmDate timeIntervalSince1970]]
|
||||||
|
forKey: @"c_nextalarm"];
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
[row setObject: [NSNumber numberWithInt: 0] forKey: @"c_nextalarm"];
|
[row setObject: [NSNumber numberWithInt: 0] forKey: @"c_nextalarm"];
|
||||||
|
|
||||||
// Delete old email alarms
|
// Delete old email alarms
|
||||||
if (af)
|
if (alarm_number >= 0)
|
||||||
[af deleteRecordForEntryWithCName: nameInContainer
|
[af deleteRecordForEntryWithCName: nameInContainer
|
||||||
inCalendarAtPath: [theContainer ocsPath]];
|
inCalendarAtPath: [theContainer ocsPath]];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue