From beae1ffdb43259695b0ef989114285898b603db4 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 28 Aug 2008 17:22:36 +0000 Subject: [PATCH] Monotone-Parent: 649a1187cf216e088818ea020c5b497e84dd0fa4 Monotone-Revision: 2ce562acf878ad1f7c91a19309985a2f48a7cd2d Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-08-28T17:22:36 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 7 +++ UI/MailPartViewers/UIxMailPartICalViewer.m | 39 +++++++++------- .../MailPartViewers/UIxMailPartICalViewer.wox | 44 ++++++++++--------- 3 files changed, 54 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index 713323860..52a54279b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-08-28 Wolfgang Sourdeau + + * UI/MailPartViewers/UIxMailPartICalViewer.m + ([UIxMailPartICalViewer -hasCalendarAccess]): new method that + returns whether the current user has access to the calendar + module, so that buttons can be hidden. + 2008-08-27 Wolfgang Sourdeau * SoObjects/Mailer/SOGoMailBodyPart.m ([SOGoMailBodyPart diff --git a/UI/MailPartViewers/UIxMailPartICalViewer.m b/UI/MailPartViewers/UIxMailPartICalViewer.m index c485e5eed..6fa55c83e 100644 --- a/UI/MailPartViewers/UIxMailPartICalViewer.m +++ b/UI/MailPartViewers/UIxMailPartICalViewer.m @@ -215,29 +215,37 @@ return [folder lookupName: @"personal" inContext: context acquire: NO]; } +- (BOOL) hasCalendarAccess +{ + return [[context activeUser] canAccessModule: @"Calendar"]; +} + - (SOGoAppointmentObject *) storedEventObject { /* lookup object in the users Calendar */ SOGoAppointmentFolder *calendar; NSString *filename; - if (!storedEventObject) + if ([self hasCalendarAccess]) { - calendar = [self calendarFolder]; - if ([calendar isKindOfClass: [NSException class]]) - [self errorWithFormat:@"Did not find Calendar folder: %@", calendar]; - else + if (!storedEventObject) { - filename = [calendar resourceNameForEventUID:[[self inEvent] uid]]; - if (filename) + calendar = [self calendarFolder]; + if ([calendar isKindOfClass: [NSException class]]) + [self errorWithFormat:@"Did not find Calendar folder: %@", calendar]; + else { - storedEventObject = [calendar lookupName: filename - inContext: [self context] - acquire: NO]; - if ([storedEventObject isKindOfClass: [NSException class]]) - storedEventObject = nil; - else - [storedEventObject retain]; + filename = [calendar resourceNameForEventUID:[[self inEvent] uid]]; + if (filename) + { + storedEventObject = [calendar lookupName: filename + inContext: [self context] + acquire: NO]; + if ([storedEventObject isKindOfClass: [NSException class]]) + storedEventObject = nil; + else + [storedEventObject retain]; + } } } } @@ -418,7 +426,8 @@ - (BOOL) canOriginalEventBeUpdated { - return ([self hasSenderStatusChanged] + return ([self hasCalendarAccess] + && [self hasSenderStatusChanged] && ([[inEvent sequence] compare: [storedEvent sequence]] != NSOrderedAscending)); } diff --git a/UI/Templates/MailPartViewers/UIxMailPartICalViewer.wox b/UI/Templates/MailPartViewers/UIxMailPartICalViewer.wox index 91ba11468..bba016a00 100644 --- a/UI/Templates/MailPartViewers/UIxMailPartICalViewer.wox +++ b/UI/Templates/MailPartViewers/UIxMailPartICalViewer.wox @@ -39,24 +39,26 @@ -

- - - - - - - - - | - -

+ +

+ + + + + + + + + | + +

+

@@ -76,7 +78,7 @@ - + @@ -89,8 +91,8 @@

- - + +

Status Update: