(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];
}
- (NSString *) modulePath
{
return @"Administration";
}
- (BOOL) shouldTakeValuesFromRequest: (WORequest *) request
inContext: (WOContext*) context
{

View File

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

View File

@ -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;

View File

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