From 823db80b8dba5142bc4794dd3b796a517eb1c329 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 25 Mar 2008 20:34:56 +0000 Subject: [PATCH 1/3] Monotone-Parent: 773965cc12e1e34ce72a11b7b25f3ff6e0dc7887 Monotone-Revision: 18368f64b51826fda4f9240e4e2ee6e766ae16ed Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-03-25T20:34:56 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 8 ++++++++ SoObjects/SOGo/SOGoGCSFolder.m | 22 ++++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3bbda7cf9..504865448 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-03-25 Wolfgang Sourdeau + + * SoObjects/SOGo/SOGoGCSFolder.m ([SOGoGCSFolder + -davSetProperties:setPropsremovePropertiesNamed:removedPropsinContext:localContext]): + returns an exception if the property to modify is not + "davDisplayName" and if the current user has not the owner role + over the current collection. + 2008-03-18 Wolfgang Sourdeau * SoObjects/Appointments/SOGoAppointmentFolder.m diff --git a/SoObjects/SOGo/SOGoGCSFolder.m b/SoObjects/SOGo/SOGoGCSFolder.m index 38a0c90d9..d7f6c6b71 100644 --- a/SoObjects/SOGo/SOGoGCSFolder.m +++ b/SoObjects/SOGo/SOGoGCSFolder.m @@ -528,12 +528,26 @@ static BOOL sendFolderAdvisories = NO; inContext: (WOContext *) localContext { NSString *newDisplayName; + NSException *exception; + NSArray *currentRoles; - newDisplayName = [setProps objectForKey: @"davDisplayName"]; - if ([newDisplayName length]) - [self renameTo: newDisplayName]; + currentRoles = [[localContext activeUser] rolesForObject: self + inContext: localContext]; + if ([currentRoles containsObject: SoRole_Owner]) + { + newDisplayName = [setProps objectForKey: @"davDisplayName"]; + if ([newDisplayName length]) + { + [self renameTo: newDisplayName]; + exception = nil; + } + else + exception = [NSException exceptionWithHTTPStatus: 404]; + } + else + exception = [NSException exceptionWithHTTPStatus: 403]; - return nil; + return exception; } /* acls as a container */ From 43c0f75dc8625be068cb67e01324e82ae5540250 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 25 Mar 2008 20:35:17 +0000 Subject: [PATCH 2/3] Monotone-Parent: 18368f64b51826fda4f9240e4e2ee6e766ae16ed Monotone-Revision: f38b4d4216272f28a87c515f453e570087af0004 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-03-25T20:35:17 Monotone-Branch: ca.inverse.sogo --- SoObjects/SOGo/SOGoObject.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SoObjects/SOGo/SOGoObject.m b/SoObjects/SOGo/SOGoObject.m index a4e0c227d..64f1293fc 100644 --- a/SoObjects/SOGo/SOGoObject.m +++ b/SoObjects/SOGo/SOGoObject.m @@ -20,8 +20,8 @@ */ #if LIB_FOUNDATION_LIBRARY -#error SOGo will not work properly with libFoundation. \ - Please use gnustep-base instead. +#error SOGo will not work properly with libFoundation. +#error Please use gnustep-base instead. #endif #import From 2bc2bb954b1e7b2a0b0c257f26a6beff05f7e96a Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 25 Mar 2008 20:43:29 +0000 Subject: [PATCH 3/3] Monotone-Parent: f38b4d4216272f28a87c515f453e570087af0004 Monotone-Revision: da177815e95b11791d2a07d68ea27df0c5d8b8e8 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-03-25T20:43:29 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ UI/Scheduler/UIxComponentEditor.m | 16 ++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 504865448..0991059fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2008-03-25 Wolfgang Sourdeau + * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor + -takeValuesFromRequest:_rqinContext:_ctx]): treat the regular + monthly recurrences as all others. + * SoObjects/SOGo/SOGoGCSFolder.m ([SOGoGCSFolder -davSetProperties:setPropsremovePropertiesNamed:removedPropsinContext:localContext]): returns an exception if the property to modify is not diff --git a/UI/Scheduler/UIxComponentEditor.m b/UI/Scheduler/UIxComponentEditor.m index 1521b06d9..91d40d0fb 100644 --- a/UI/Scheduler/UIxComponentEditor.m +++ b/UI/Scheduler/UIxComponentEditor.m @@ -1428,7 +1428,7 @@ RANGE(2); // We recur on specific days... if ([[self repeat2] intValue] == 1) { - [theRule setNamedValue: @"bymonthday" to: [self repeat5]]; + [theRule setNamedValue: @"bymonthday" to: [self repeat5]]; } else { @@ -1526,16 +1526,12 @@ RANGE(2); |iCalWeekDayFriday)]; [rule setFrequency: iCalRecurrenceFrequenceDaily]; } - else if ([repeat caseInsensitiveCompare: @"MONTHLY"] == NSOrderedSame) - { - [rule setNamedValue: @"bymonthday" - to: [NSString stringWithFormat: @"%d", [[component startDate] dayOfMonth]]]; - [rule setFrequency: iCalRecurrenceFrequenceMonthly]; - } - else if ([repeat caseInsensitiveCompare: @"DAILY"] == NSOrderedSame || - [repeat caseInsensitiveCompare: @"WEEKLY"] == NSOrderedSame || - [repeat caseInsensitiveCompare: @"YEARLY"] == NSOrderedSame) + else if ([repeat caseInsensitiveCompare: @"MONTHLY"] == NSOrderedSame + || [repeat caseInsensitiveCompare: @"DAILY"] == NSOrderedSame + || [repeat caseInsensitiveCompare: @"WEEKLY"] == NSOrderedSame + || [repeat caseInsensitiveCompare: @"YEARLY"] == NSOrderedSame) { + [rule setInterval: @"1"]; [rule setFrequency: (iCalRecurrenceFrequency) [rule valueForFrequency: repeat]]; }