parent
663a0b60dd
commit
ef5728dcaf
1
NEWS
1
NEWS
|
@ -20,6 +20,7 @@ Bug fixes
|
||||||
- [core] handle properly mails using windows-1255 charset (#4124)
|
- [core] handle properly mails using windows-1255 charset (#4124)
|
||||||
- [core] fixed email reminders sent multiple times (#4100)
|
- [core] fixed email reminders sent multiple times (#4100)
|
||||||
- [core] fixed LDIF to vCard conversion for non-handled multi-value attributes (#4086)
|
- [core] fixed LDIF to vCard conversion for non-handled multi-value attributes (#4086)
|
||||||
|
- [core] properly honor the "include in freebusy" setting (#3354)
|
||||||
- [eas] set reply/forwarded flags when ReplaceMime is set (#4133)
|
- [eas] set reply/forwarded flags when ReplaceMime is set (#4133)
|
||||||
- [eas] remove alarms over EAS if we don't want them (#4059)
|
- [eas] remove alarms over EAS if we don't want them (#4059)
|
||||||
- [eas] correctly set RSVP on event invitations
|
- [eas] correctly set RSVP on event invitations
|
||||||
|
|
|
@ -431,36 +431,27 @@ static Class iCalEventK = nil;
|
||||||
- (BOOL) includeInFreeBusy
|
- (BOOL) includeInFreeBusy
|
||||||
{
|
{
|
||||||
NSNumber *excludeFromFreeBusy;
|
NSNumber *excludeFromFreeBusy;
|
||||||
NSString *userLogin;
|
NSString *userLogin, *ownerInContext;
|
||||||
BOOL is_owner;
|
BOOL is_owner;
|
||||||
|
|
||||||
userLogin = [[context activeUser] login];
|
userLogin = [[context activeUser] login];
|
||||||
is_owner = [userLogin isEqualToString: self->owner];
|
ownerInContext = [[self container] ownerInContext: context];
|
||||||
|
is_owner = [userLogin isEqualToString: ownerInContext];
|
||||||
// Check if the owner (not the active user) has excluded the calendar from her/his free busy data.
|
|
||||||
excludeFromFreeBusy
|
|
||||||
= [self folderPropertyValueInCategory: @"FreeBusyExclusions"
|
|
||||||
forUser: [context activeUser]];
|
|
||||||
|
|
||||||
if ([self isSubscription])
|
if (is_owner)
|
||||||
{
|
excludeFromFreeBusy
|
||||||
// If the user has not yet set an include/not include fb information let's EXCLUDE it.
|
= [self folderPropertyValueInCategory: @"FreeBusyExclusions"
|
||||||
if (!excludeFromFreeBusy)
|
forUser: [context activeUser]];
|
||||||
return NO;
|
else
|
||||||
else
|
excludeFromFreeBusy
|
||||||
return ![excludeFromFreeBusy boolValue];
|
= [self folderPropertyValueInCategory: @"FreeBusyExclusions"
|
||||||
}
|
forUser: [SOGoUser userWithLogin: ownerInContext]];
|
||||||
else if (is_owner)
|
|
||||||
{
|
|
||||||
// We are the owner but we haven't included/excluded freebusy info, let's INCLUDE it.
|
|
||||||
if (!excludeFromFreeBusy)
|
|
||||||
return YES;
|
|
||||||
else
|
|
||||||
return ![excludeFromFreeBusy boolValue];
|
|
||||||
}
|
|
||||||
|
|
||||||
// It's not a subscribtion and we aren't the owner. Let's INCLUDE the freebusy info.
|
// We haven't included/excluded freebusy info, let's INCLUDE it.
|
||||||
return YES;
|
if (!excludeFromFreeBusy)
|
||||||
|
return YES;
|
||||||
|
|
||||||
|
return ![excludeFromFreeBusy boolValue];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) setIncludeInFreeBusy: (BOOL) newInclude
|
- (void) setIncludeInFreeBusy: (BOOL) newInclude
|
||||||
|
|
|
@ -309,6 +309,7 @@
|
||||||
to: (NSCalendarDate *) endDate
|
to: (NSCalendarDate *) endDate
|
||||||
{
|
{
|
||||||
SOGoAppointmentFolder *calFolder;
|
SOGoAppointmentFolder *calFolder;
|
||||||
|
SOGoAppointmentFolders *calFolders;
|
||||||
SOGoUser *user;
|
SOGoUser *user;
|
||||||
SOGoUserDefaults *ud;
|
SOGoUserDefaults *ud;
|
||||||
NSArray *folders;
|
NSArray *folders;
|
||||||
|
@ -318,9 +319,12 @@
|
||||||
|
|
||||||
infos = [NSMutableArray array];
|
infos = [NSMutableArray array];
|
||||||
|
|
||||||
folders = [[container lookupName: @"Calendar"
|
calFolders = [container lookupName: @"Calendar"
|
||||||
inContext: context
|
inContext: context
|
||||||
acquire: NO] subFolders];
|
acquire: NO];
|
||||||
|
[calFolders appendSubscribedSources];
|
||||||
|
folders = [calFolders subFolders];
|
||||||
|
|
||||||
max = [folders count];
|
max = [folders count];
|
||||||
for (count = 0; count < max; count++)
|
for (count = 0; count < max; count++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SOGoParentFolder.m - this file is part of SOGo
|
/* SOGoParentFolder.m - this file is part of SOGo
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2015 Inverse inc.
|
* Copyright (C) 2006-2017 Inverse inc.
|
||||||
*
|
*
|
||||||
* This file is free software; you can redistribute it and/or modify
|
* This file is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -317,6 +317,12 @@ static SoSecurityManager *sm = nil;
|
||||||
int i;
|
int i;
|
||||||
BOOL dirty;
|
BOOL dirty;
|
||||||
|
|
||||||
|
if (!subscribedSubFolders)
|
||||||
|
subscribedSubFolders = [NSMutableDictionary new];
|
||||||
|
|
||||||
|
if (!subFolderClass)
|
||||||
|
subFolderClass = [[self class] subFolderClass];
|
||||||
|
|
||||||
error = nil; /* we ignore non-DB errors at this time... */
|
error = nil; /* we ignore non-DB errors at this time... */
|
||||||
dirty = NO;
|
dirty = NO;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue