From 258f5e0b25bd51c73b4ad69eb113dc516ed81143 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Fri, 18 Sep 2015 20:30:35 -0400 Subject: [PATCH] (fix) correctly handle module name for "folder less" SOGo modules --- UI/AdministrationUI/UIxAdministration.m | 5 +++++ UI/PreferencesUI/UIxPreferences.m | 5 +++++ UI/SOGoUI/UIxComponent.m | 10 ++++------ UI/Templates/UIxTopnavToolbarTemplate.wox | 3 ++- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/UI/AdministrationUI/UIxAdministration.m b/UI/AdministrationUI/UIxAdministration.m index e1fa48499..ba396a882 100644 --- a/UI/AdministrationUI/UIxAdministration.m +++ b/UI/AdministrationUI/UIxAdministration.m @@ -46,6 +46,11 @@ [super dealloc]; } +- (NSString *) modulePath +{ + return @"Administration"; +} + - (BOOL) shouldTakeValuesFromRequest: (WORequest *) request inContext: (WOContext*) context { diff --git a/UI/PreferencesUI/UIxPreferences.m b/UI/PreferencesUI/UIxPreferences.m index 473cf78c2..cbe536eab 100644 --- a/UI/PreferencesUI/UIxPreferences.m +++ b/UI/PreferencesUI/UIxPreferences.m @@ -169,6 +169,11 @@ static NSArray *reminderValues = nil; [super dealloc]; } +- (NSString *) modulePath +{ + return @"Preferences"; +} + // - (void) setHasChanged: (BOOL) newHasChanged // { // hasChanged = newHasChanged; diff --git a/UI/SOGoUI/UIxComponent.m b/UI/SOGoUI/UIxComponent.m index 7fbccaa24..f98b43b6c 100644 --- a/UI/SOGoUI/UIxComponent.m +++ b/UI/SOGoUI/UIxComponent.m @@ -364,25 +364,23 @@ static SoProduct *commonProduct = nil; BOOL found; NSString *hostLessURL; Class objectClass, userFolderClass; -// , groupFolderClass + + if ([[self parent] respondsToSelector: @selector(modulePath)]) + return [NSString stringWithFormat: @"%@/%@", [[self clientObject] baseURLInContext: context], [[self parent] modulePath]]; currentClient = [self clientObject]; if (currentClient && [currentClient isKindOfClass: [SOGoObject class]]) { -// groupFolderClass = [SOGoCustomGroupFolder class]; userFolderClass = [SOGoUserFolder class]; objectClass = [currentClient class]; -// found = (objectClass == groupFolderClass || objectClass == userFolderClass); found = (objectClass == userFolderClass); while (!found && currentClient) { parent = [currentClient container]; objectClass = [parent class]; - if (// objectClass == groupFolderClass -// || - objectClass == userFolderClass) + if (objectClass == userFolderClass) found = YES; else currentClient = parent; diff --git a/UI/Templates/UIxTopnavToolbarTemplate.wox b/UI/Templates/UIxTopnavToolbarTemplate.wox index 90feac55a..0c9718eb9 100644 --- a/UI/Templates/UIxTopnavToolbarTemplate.wox +++ b/UI/Templates/UIxTopnavToolbarTemplate.wox @@ -49,12 +49,13 @@ settings settings_applications