From 93bd145ccdb0503e2cc5fc2f640a1d71f0c8ce24 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 7 Nov 2006 18:15:42 +0000 Subject: [PATCH] Monotone-Parent: eab6dcca819997db03071b70fa3cb43b3b72b73a Monotone-Revision: f25d9e23cbc813e28cebdd2d055817c45444b3b3 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2006-11-07T18:15:42 Monotone-Branch: ca.inverse.sogo --- .../Appointments/SOGoAppointmentObject.m | 26 +++++++++++-------- SoObjects/Appointments/SOGoTaskObject.m | 15 ++++++++--- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/SoObjects/Appointments/SOGoAppointmentObject.m b/SoObjects/Appointments/SOGoAppointmentObject.m index 8389a474e..7bd227af4 100644 --- a/SoObjects/Appointments/SOGoAppointmentObject.m +++ b/SoObjects/Appointments/SOGoAppointmentObject.m @@ -103,21 +103,25 @@ static NSString *mailTemplateDefaultLanguage = nil; return [self contentAsString]; } -- (iCalEvent *)event { - NSString *iCalString; +- (iCalEvent *) event +{ iCalEvent *event; + iCalCalendar *calendar; + NSString *iCalString; iCalString = [self iCalString]; - if ([iCalString length] > 0) { - iCalCalendar *cal; + if (iCalString) + { + calendar = [iCalCalendar parseSingleFromSource: iCalString]; + if (calendar) + event = [self firstEventFromCalendar: calendar]; + else + event = nil; + } + else + event = nil; - [parser parseFromSource:iCalString]; - cal = [sax rootObject]; - [sax reset]; - event = [[cal events] lastObject]; - return event; - } - return nil; + return event; } /* iCal handling */ diff --git a/SoObjects/Appointments/SOGoTaskObject.m b/SoObjects/Appointments/SOGoTaskObject.m index f5ff1795a..462c4d306 100644 --- a/SoObjects/Appointments/SOGoTaskObject.m +++ b/SoObjects/Appointments/SOGoTaskObject.m @@ -255,11 +255,18 @@ static NSString *mailTemplateDefaultLanguage = nil; { iCalToDo *event; NSArray *events; + NSString *iCalString; - events = [calendar childrenWithTag: @"vtodo"]; - if ([events count]) - event = (iCalToDo *) [[events objectAtIndex: 0] - groupWithClass: [iCalToDo class]]; + iCalString = [self iCalString]; + if (iCalString) + { + events = [calendar childrenWithTag: @"vtodo"]; + if ([events count]) + event = (iCalToDo *) [[events objectAtIndex: 0] + groupWithClass: [iCalToDo class]]; + else + event = nil; + } else event = nil;