From 6101ccce31b7b496ae465c54e180bda2ba48d25b Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 6 Sep 2007 22:16:30 +0000 Subject: [PATCH] Monotone-Parent: 96c27e14c931ea4da44d9e27355efd4f8b92a679 Monotone-Revision: f008e3c8a12e79d2a86e41320fe6a81f4adf4257 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-09-06T22:16:30 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ UI/SOGoUI/UIxComponent.m | 37 ++++++++++++++++++++----------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index 83eb49c35..b55f7b3f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-09-06 Wolfgang Sourdeau + * UI/SOGoUI/UIxComponent.m ([UIxComponent -applicationPath]): + returns the path to the application if the clientObject is not a + SOGoObject. + * SoObjects/SOGo/SOGoUserFolder.m ([SOGoUserFolder +initialize]): moved the requirement of authentication from the SOGo application class to here. diff --git a/UI/SOGoUI/UIxComponent.m b/UI/SOGoUI/UIxComponent.m index 83eb9b18f..95e48cf94 100644 --- a/UI/SOGoUI/UIxComponent.m +++ b/UI/SOGoUI/UIxComponent.m @@ -312,28 +312,31 @@ static BOOL uixDebugEnabled = NO; SOGoObject *currentClient, *parent; BOOL found; Class objectClass, groupFolderClass, userFolderClass; - WOContext *ctx; - - groupFolderClass = [SOGoCustomGroupFolder class]; - userFolderClass = [SOGoUserFolder class]; currentClient = [self clientObject]; - objectClass = [currentClient class]; - found = (objectClass == groupFolderClass || objectClass == userFolderClass); - while (!found && currentClient) + if (currentClient + && [currentClient isKindOfClass: [SOGoObject class]]) { - parent = [currentClient container]; - objectClass = [parent class]; - if (objectClass == groupFolderClass - || objectClass == userFolderClass) - found = YES; - else - currentClient = parent; + groupFolderClass = [SOGoCustomGroupFolder class]; + userFolderClass = [SOGoUserFolder class]; + + objectClass = [currentClient class]; + found = (objectClass == groupFolderClass || objectClass == userFolderClass); + while (!found && currentClient) + { + parent = [currentClient container]; + objectClass = [parent class]; + if (objectClass == groupFolderClass + || objectClass == userFolderClass) + found = YES; + else + currentClient = parent; + } } + else + currentClient = [WOApplication application]; - ctx = context; - - return [[currentClient baseURLInContext:ctx] hostlessURL]; + return [[currentClient baseURLInContext: context] hostlessURL]; } - (NSString *) resourcesPath