mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-06-23 10:54:17 +00:00
Monotone-Parent: 36c59ea6f5d3705bff60a615e113d6b9e7a7501e
Monotone-Revision: 2ae12f2c67f3e74fddaf5d592a19e233d0806899 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-04-26T01:16:19 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
+73
-35
@@ -161,45 +161,39 @@ static BOOL shouldDisplayWeekend = NO;
|
||||
|
||||
- (void) setAppointment:(id) _apt
|
||||
{
|
||||
NSString *mailtoChunk;
|
||||
NSString *myEmail;
|
||||
ASSIGN (appointment, _apt);
|
||||
}
|
||||
|
||||
ASSIGN(appointment, _apt);
|
||||
// - (void) setAppointment:(id) _apt
|
||||
// {
|
||||
// NSString *mailtoChunk;
|
||||
// NSString *myEmail;
|
||||
// NSString *partmails;
|
||||
|
||||
/* cache some info about apt for faster access */
|
||||
// ASSIGN(appointment, _apt);
|
||||
|
||||
// /* cache some info about apt for faster access */
|
||||
|
||||
mailtoChunk = [_apt valueForKey: @"orgmail"];
|
||||
myEmail = [self emailForUser];
|
||||
if ([mailtoChunk rangeOfString: myEmail].length > 0)
|
||||
{
|
||||
aptFlags.isMyApt = YES;
|
||||
aptFlags.canAccessApt = YES;
|
||||
}
|
||||
else
|
||||
{
|
||||
NSString *partmails;
|
||||
// mailtoChunk = [_apt valueForKey: @"orgmail"];
|
||||
// myEmail = [self emailForUser];
|
||||
// if ([mailtoChunk rangeOfString: myEmail].length > 0)
|
||||
// {
|
||||
// aptFlags.isMyApt = YES;
|
||||
// aptFlags.canAccessApt = YES;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// aptFlags.isMyApt = NO;
|
||||
|
||||
aptFlags.isMyApt = NO;
|
||||
|
||||
partmails = [_apt valueForKey: @"partmails"];
|
||||
if ([partmails rangeOfString: myEmail].length)
|
||||
aptFlags.canAccessApt = YES;
|
||||
else
|
||||
aptFlags.canAccessApt
|
||||
= ([[_apt valueForKey: @"classification"] intValue]
|
||||
== iCalAccessPublic);
|
||||
}
|
||||
}
|
||||
|
||||
- (void) setTasks: (NSArray *) _tasks
|
||||
{
|
||||
ASSIGN(tasks, _tasks);
|
||||
}
|
||||
|
||||
- (NSArray *) tasks
|
||||
{
|
||||
return tasks;
|
||||
}
|
||||
// partmails = [_apt valueForKey: @"partmails"];
|
||||
// if ([partmails rangeOfString: myEmail].length)
|
||||
// aptFlags.canAccessApt = YES;
|
||||
// else
|
||||
// aptFlags.canAccessApt
|
||||
// = ([[_apt valueForKey: @"classification"] intValue]
|
||||
// == iCalAccessPublic);
|
||||
// }
|
||||
// }
|
||||
|
||||
- (id) appointment
|
||||
{
|
||||
@@ -248,6 +242,16 @@ static BOOL shouldDisplayWeekend = NO;
|
||||
return privateAptTooltipFormatter;
|
||||
}
|
||||
|
||||
- (void) setTasks: (NSArray *) _tasks
|
||||
{
|
||||
ASSIGN(tasks, _tasks);
|
||||
}
|
||||
|
||||
- (NSArray *) tasks
|
||||
{
|
||||
return tasks;
|
||||
}
|
||||
|
||||
/* TODO: remove this */
|
||||
- (NSString *) shortTextForApt
|
||||
{
|
||||
@@ -496,6 +500,38 @@ static BOOL shouldDisplayWeekend = NO;
|
||||
return activeFolders;
|
||||
}
|
||||
|
||||
- (void) _updatePrivacyInObjects: (NSArray *) objectInfos
|
||||
fromFolder: (SOGoAppointmentFolder *) folder
|
||||
{
|
||||
int hideDetails[] = {-1, -1, -1};
|
||||
NSMutableDictionary *currentRecord;
|
||||
int privacyFlag;
|
||||
NSString *roleString, *userLogin;
|
||||
NSEnumerator *infos;
|
||||
|
||||
userLogin = [[context activeUser] login];
|
||||
infos = [objectInfos objectEnumerator];
|
||||
currentRecord = [infos nextObject];
|
||||
while (currentRecord)
|
||||
{
|
||||
privacyFlag = [[currentRecord objectForKey: @"classification"] intValue];
|
||||
if (hideDetails[privacyFlag] == -1)
|
||||
{
|
||||
roleString = [folder roleForComponentsWithAccessClass: privacyFlag
|
||||
forUser: userLogin];
|
||||
hideDetails[privacyFlag] = ([roleString isEqualToString: @"ComponentDAndTViewer"]
|
||||
? 1 : 0);
|
||||
}
|
||||
if (hideDetails[privacyFlag])
|
||||
{
|
||||
[currentRecord setObject: [self labelForKey: @"(Private Event)"]
|
||||
forKey: @"title"];
|
||||
[currentRecord setObject: @"" forKey: @"location"];
|
||||
}
|
||||
currentRecord = [infos nextObject];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSArray *) _fetchCoreInfosForComponent: (NSString *) component
|
||||
{
|
||||
NSArray *currentInfos;
|
||||
@@ -517,6 +553,8 @@ static BOOL shouldDisplayWeekend = NO;
|
||||
[currentInfos makeObjectsPerform: @selector (setObject:forKey:)
|
||||
withObject: [currentFolder ownerInContext: nil]
|
||||
withObject: @"owner"];
|
||||
[self _updatePrivacyInObjects: currentInfos
|
||||
fromFolder: currentFolder];
|
||||
[infos addObjectsFromArray: currentInfos];
|
||||
currentFolder = [folders nextObject];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user