From 1e8864e12c2b6a52fd431a983372d6e6a2d76955 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Wed, 7 Mar 2007 22:32:01 +0000 Subject: [PATCH] Monotone-Parent: 40cfb51f338c3f1f6fe8239f0856243055c457e5 Monotone-Revision: 0d1504b25805aa0a62ce9ead611227d57b4d4f75 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-03-07T22:32:01 Monotone-Branch: ca.inverse.sogo --- UI/Scheduler/UIxCalInlineAptView.m | 43 ++++++++++++++++++- .../SchedulerUI/UIxCalInlineAptView.wox | 2 +- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/UI/Scheduler/UIxCalInlineAptView.m b/UI/Scheduler/UIxCalInlineAptView.m index 994a1f7c7..039332094 100644 --- a/UI/Scheduler/UIxCalInlineAptView.m +++ b/UI/Scheduler/UIxCalInlineAptView.m @@ -25,6 +25,7 @@ #import #import +#import #import @interface UIxCalInlineAptView : WOComponent @@ -273,9 +274,47 @@ referenceDate: [self referenceDate]]; } -- (BOOL) isConfidential +- (BOOL) _userIsInTheCard: (NSString *) email { - return ([[appointment objectForKey: @"classification"] intValue] == iCalAccessConfidential); + NSString *orgMailString, *partMailsString; + NSArray *partMails; + BOOL userIsInTheCard; + + orgMailString = [appointment objectForKey: @"orgmail"]; + if ([orgMailString isNotNull] && [orgMailString isEqualToString: email]) + userIsInTheCard = YES; + else + { + partMailsString = [appointment objectForKey: @"partmails"]; + if ([partMailsString isNotNull]) + { + partMails = [partMailsString componentsSeparatedByString: @"\n"]; + userIsInTheCard = [partMails containsObject: email]; + } + else + userIsInTheCard = NO; + } + + return userIsInTheCard; +} + +- (BOOL) titleShouldBeHidden +{ + BOOL shouldBeHidden; + SOGoUser *user; + SOGoAuthenticator *sAuth; + + sAuth = [SOGoAuthenticator sharedSOGoAuthenticator]; + user = [sAuth userInContext: context]; + + if ([[appointment objectForKey: @"owner"] isEqualToString: [user login]] + || ([[appointment objectForKey: @"classification"] intValue] + != iCalAccessConfidential)) + shouldBeHidden = NO; + else + shouldBeHidden = ![self _userIsInTheCard: [user email]]; + + return shouldBeHidden; } @end diff --git a/UI/Templates/SchedulerUI/UIxCalInlineAptView.wox b/UI/Templates/SchedulerUI/UIxCalInlineAptView.wox index 10aded341..929a66ca5 100644 --- a/UI/Templates/SchedulerUI/UIxCalInlineAptView.wox +++ b/UI/Templates/SchedulerUI/UIxCalInlineAptView.wox @@ -26,7 +26,7 @@ >