From ec51e7a283128ef5d9ac64a1d28bf61854679ec0 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 19 Nov 2007 15:39:44 +0000 Subject: [PATCH] Monotone-Parent: 9cbf90659764ea3f6e6865022fda54ac0159d18f Monotone-Revision: e2c6d6b8cfe712b3904159b16afba1769a6ab0a4 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-11-19T15:39:44 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++++++ UI/MailPartViewers/UIxMailPartICalActions.m | 20 ++++++++++++++++---- UI/MailPartViewers/product.plist | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index c08a92df7..20bbc5ddb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-11-19 Wolfgang Sourdeau + + * UI/MailPartViewers/UIxMailPartICalActions.m + ([UIxMailPartICalActions -deleteFromCalendarAction]): actually + delete the found object. + 2007-11-18 Ludovic Marcotte * SoObjects/Mailer/SOGoMailBodyPart.m diff --git a/UI/MailPartViewers/UIxMailPartICalActions.m b/UI/MailPartViewers/UIxMailPartICalActions.m index e51f518cf..e695de0df 100644 --- a/UI/MailPartViewers/UIxMailPartICalActions.m +++ b/UI/MailPartViewers/UIxMailPartICalActions.m @@ -67,11 +67,21 @@ { SOGoAppointmentFolder *personalFolder; SOGoAppointmentObject *eventObject; + NSString *cname; + + eventObject = nil; personalFolder = [user personalCalendarFolderInContext: context]; - eventObject = [personalFolder lookupName: uid - inContext: context acquire: NO]; - if (![eventObject isKindOfClass: [SOGoAppointmentObject class]]) + cname = [personalFolder resourceNameForEventUID: uid]; + if (cname) + { + eventObject = [personalFolder lookupName: cname + inContext: context acquire: NO]; + if (![eventObject isKindOfClass: [SOGoAppointmentObject class]]) + eventObject = nil; + } + + if (!eventObject) eventObject = [SOGoAppointmentObject objectWithName: uid inContainer: personalFolder]; @@ -96,7 +106,8 @@ chosenEvent = emailEvent; else { - calendarEvent = (iCalEvent *) [*eventObject component: NO secure: NO]; + calendarEvent = (iCalEvent *) [*eventObject component: NO + secure: NO]; if ([calendarEvent compare: emailEvent] == NSOrderedAscending) chosenEvent = emailEvent; else @@ -199,6 +210,7 @@ if (emailEvent) { eventObject = [self _eventObjectWithUID: [emailEvent uid]]; + [eventObject delete]; response = [self responseWith204]; } else diff --git a/UI/MailPartViewers/product.plist b/UI/MailPartViewers/product.plist index ddf40447a..cdf98f67b 100644 --- a/UI/MailPartViewers/product.plist +++ b/UI/MailPartViewers/product.plist @@ -37,7 +37,7 @@ }; */ deleteFromCalendar = { protectedBy = "View"; - actionClass = "UIxMailPartICalAction"; + actionClass = "UIxMailPartICalActions"; actionName = "deleteFromCalendar"; }; };