(fix) correctly handle module name for "folder less" SOGo modules

pull/105/head
Ludovic Marcotte 2015-09-18 20:30:35 -04:00
parent 3609e41205
commit 258f5e0b25
4 changed files with 16 additions and 7 deletions

View File

@ -46,6 +46,11 @@
[super dealloc]; [super dealloc];
} }
- (NSString *) modulePath
{
return @"Administration";
}
- (BOOL) shouldTakeValuesFromRequest: (WORequest *) request - (BOOL) shouldTakeValuesFromRequest: (WORequest *) request
inContext: (WOContext*) context inContext: (WOContext*) context
{ {

View File

@ -169,6 +169,11 @@ static NSArray *reminderValues = nil;
[super dealloc]; [super dealloc];
} }
- (NSString *) modulePath
{
return @"Preferences";
}
// - (void) setHasChanged: (BOOL) newHasChanged // - (void) setHasChanged: (BOOL) newHasChanged
// { // {
// hasChanged = newHasChanged; // hasChanged = newHasChanged;

View File

@ -364,25 +364,23 @@ static SoProduct *commonProduct = nil;
BOOL found; BOOL found;
NSString *hostLessURL; NSString *hostLessURL;
Class objectClass, userFolderClass; Class objectClass, userFolderClass;
// , groupFolderClass
if ([[self parent] respondsToSelector: @selector(modulePath)])
return [NSString stringWithFormat: @"%@/%@", [[self clientObject] baseURLInContext: context], [[self parent] modulePath]];
currentClient = [self clientObject]; currentClient = [self clientObject];
if (currentClient if (currentClient
&& [currentClient isKindOfClass: [SOGoObject class]]) && [currentClient isKindOfClass: [SOGoObject class]])
{ {
// groupFolderClass = [SOGoCustomGroupFolder class];
userFolderClass = [SOGoUserFolder class]; userFolderClass = [SOGoUserFolder class];
objectClass = [currentClient class]; objectClass = [currentClient class];
// found = (objectClass == groupFolderClass || objectClass == userFolderClass);
found = (objectClass == userFolderClass); found = (objectClass == userFolderClass);
while (!found && currentClient) while (!found && currentClient)
{ {
parent = [currentClient container]; parent = [currentClient container];
objectClass = [parent class]; objectClass = [parent class];
if (// objectClass == groupFolderClass if (objectClass == userFolderClass)
// ||
objectClass == userFolderClass)
found = YES; found = YES;
else else
currentClient = parent; currentClient = parent;

View File

@ -49,12 +49,13 @@
<md-tooltip><var:string label:value="Mail"/></md-tooltip> <md-tooltip><var:string label:value="Mail"/></md-tooltip>
</md-button> </md-button>
<md-button class="sg-icon-button" <md-button class="sg-icon-button"
ng-disabled="baseURL.endsWith(activeUser.login)" ng-disabled="baseURL.endsWith('/Preferences')"
ng-href="{{activeUser.path.preferences}}"> ng-href="{{activeUser.path.preferences}}">
<md-icon>settings</md-icon> <md-icon>settings</md-icon>
<md-tooltip><var:string label:value="Preferences"/></md-tooltip> <md-tooltip><var:string label:value="Preferences"/></md-tooltip>
</md-button> </md-button>
<md-button class="sg-icon-button" <md-button class="sg-icon-button"
ng-disabled="baseURL.endsWith('/Administration')"
ng-show="activeUser.isSuperUser" ng-show="activeUser.isSuperUser"
ng-href="{{activeUser.path.administration}}"> ng-href="{{activeUser.path.administration}}">
<md-icon>settings_applications</md-icon> <md-icon>settings_applications</md-icon>