feat(eas): Add SOGoEASDisableUI system parameter to remove EAS options in UI when ActiveSync is not used

This commit is contained in:
smizrahi
2023-01-16 15:31:15 +01:00
parent c178963bfc
commit 04e15b5695
9 changed files with 59 additions and 27 deletions
@@ -2965,6 +2965,9 @@ If not set, it defaults to `102400` bytes, or 100 KB.
|S |SOGoEASSearchInBody
|Parameter used to enable EAS Search operation in all parts of a message.
|S |SOGoEASDisableUI
|Parameter used to disable EAS user interface options. Default value is `NO`
Defaults to `NO`, which means to search only in Subject- and From-header.
|=======================================================================
+2 -1
View File
@@ -121,8 +121,9 @@ static const NSString *kDisableSharingCalendar = @"Calendar";
- (int) maximumSyncResponseSize;
- (int) maximumPictureSize;
- (BOOL) easSearchInBody;
- (BOOL) isEasUIDisabled;
- (BOOL) isPasswordRecoveryEnabled;
- (BOOL)isPasswordRecoveryEnabled;
- (NSArray *) passwordRecoveryDomains;
- (NSString *) JWTSecret;
+5
View File
@@ -746,6 +746,11 @@ _injectConfigurationFromFile (NSMutableDictionary *defaultsDict,
return [self boolForKey: @"SOGoEASSearchInBody"];
}
- (BOOL) isEasUIDisabled
{
return [self boolForKey: @"SOGoEASDisableUI"];
}
//
// See https://msdn.microsoft.com/en-us/library/gg672032(v=exchg.80).aspx
//
+6
View File
@@ -26,6 +26,7 @@
#import <SOGo/NSDictionary+Utilities.h>
#import <SOGo/NSString+Utilities.h>
#import <SOGo/SOGoSystemDefaults.h>
#import <Contacts/SOGoContactGCSFolder.h>
@@ -91,4 +92,9 @@
return response;
}
- (BOOL) isEasUIEnabled
{
return ![[SOGoSystemDefaults sharedSystemDefaults] isEasUIDisabled];
}
@end
+5
View File
@@ -1741,4 +1741,9 @@ static NSArray *reminderValues = nil;
return [self shouldDisplayPasswordRecovery] || [self shouldDisplayPasswordChange];
}
- (BOOL) isEasUIEnabled
{
return ![[SOGoSystemDefaults sharedSystemDefaults] isEasUIDisabled];
}
@end
+6
View File
@@ -26,6 +26,7 @@
#import <SOGo/NSDictionary+Utilities.h>
#import <SOGo/NSString+Utilities.h>
#import <SOGo/SOGoSystemDefaults.h>
#import <Appointments/SOGoWebAppointmentFolder.h>
@@ -149,4 +150,9 @@
return response;
}
- (BOOL) isEasUIEnabled
{
return ![[SOGoSystemDefaults sharedSystemDefaults] isEasUIDisabled];
}
@end
@@ -20,15 +20,17 @@
</div>
</md-toolbar>
<md-dialog-content class="md-dialog-content" layout="column">
<md-checkbox
ng-model="properties.addressbook.synchronize"
ng-disabled="properties.addressbook.id == 'personal'"
ng-true-value="1"
ng-false-value="0">
<var:string label:value="Synchronize"/> (Microsoft Enterprise ActiveSync)
</md-checkbox>
</md-dialog-content>
<var:if condition="isEasUIEnabled">
<md-dialog-content class="md-dialog-content" layout="column">
<md-checkbox
ng-model="properties.addressbook.synchronize"
ng-disabled="properties.addressbook.id == 'personal'"
ng-true-value="1"
ng-false-value="0">
<var:string label:value="Synchronize"/> (Microsoft Enterprise ActiveSync)
</md-checkbox>
</md-dialog-content>
</var:if>
<md-dialog-actions>
<md-button type="button" ng-click="properties.close()"><var:string label:value="Cancel"/></md-button>
+11 -9
View File
@@ -662,15 +662,17 @@
</md-checkbox>
</div>
<div>
<md-checkbox
ng-model="app.preferences.defaults.SOGoMailSynchronizeOnlyDefaultFolders"
ng-true-value="1"
ng-false-value="0"
label:aria-label="Synchronize only default mail folders (EAS)">
<var:string label:value="Synchronize only default mail folders (EAS)"/>
</md-checkbox>
</div>
<var:if condition="isEasUIEnabled">
<div>
<md-checkbox
ng-model="app.preferences.defaults.SOGoMailSynchronizeOnlyDefaultFolders"
ng-true-value="1"
ng-false-value="0"
label:aria-label="Synchronize only default mail folders (EAS)">
<var:string label:value="Synchronize only default mail folders (EAS)"/>
</md-checkbox>
</div>
</var:if>
<div>
<md-checkbox
@@ -43,14 +43,16 @@
ng-false-value="0">
<var:string label:value="Show tasks"/>
</md-checkbox>
<md-checkbox
ng-model="properties.calendar.synchronize"
ng-show="!properties.calendar.isWebCalendar"
ng-disabled="properties.calendar.id == 'personal'"
ng-true-value="1"
ng-false-value="0">
<var:string label:value="Synchronize"/> (Microsoft Enterprise ActiveSync)
</md-checkbox>
<var:if condition="isEasUIEnabled">
<md-checkbox
ng-model="properties.calendar.synchronize"
ng-show="!properties.calendar.isWebCalendar"
ng-disabled="properties.calendar.id == 'personal'"
ng-true-value="1"
ng-false-value="0">
<var:string label:value="Synchronize"/> (Microsoft Enterprise ActiveSync)
</md-checkbox>
</var:if>
<md-checkbox
ng-model="properties.calendar.reloadOnLogin"
ng-show="properties.calendar.isWebCalendar"