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