summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/js/settings.js
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2014-10-08 11:38:39 +0200
committerArthur Schiwon <blizzz@owncloud.com>2014-10-08 11:38:39 +0200
commitb6fc7f5599a08ab047e10775b4071514c7cd170d (patch)
tree9fbac2b76e4e7e995c402001a7a487fb6458c600 /apps/user_ldap/js/settings.js
parent3ff4c8e3fc5d6249b559b3cd1b4a01ba02bd5c34 (diff)
downloadnextcloud-server-b6fc7f5599a08ab047e10775b4071514c7cd170d.tar.gz
nextcloud-server-b6fc7f5599a08ab047e10775b4071514c7cd170d.zip
Objectlasses, Groups and Attributes are now loaded only in assisted mode and only once
Diffstat (limited to 'apps/user_ldap/js/settings.js')
-rw-r--r--apps/user_ldap/js/settings.js39
1 files changed, 30 insertions, 9 deletions
diff --git a/apps/user_ldap/js/settings.js b/apps/user_ldap/js/settings.js
index 5982d65ad6c..cf7223d3fa0 100644
--- a/apps/user_ldap/js/settings.js
+++ b/apps/user_ldap/js/settings.js
@@ -530,23 +530,21 @@ var LdapWizard = {
isConfigurationActiveControlLocked: true,
init: function() {
+ LdapWizard.instantiateFilters();
LdapWizard.basicStatusCheck();
LdapWizard.functionalityCheck();
LdapWizard.isConfigurationActiveControlLocked = false;
},
initGroupFilter: function() {
- LdapWizard.groupFilter = new LdapFilter('Group');
- LdapWizard.findObjectClasses('ldap_groupfilter_objectclass', 'Group');
- LdapWizard.findAvailableGroups('ldap_groupfilter_groups', 'Groups');
+ LdapWizard.groupFilter.activate();
LdapWizard.countGroups();
},
/** init login filter tab section **/
initLoginFilter: function() {
- LdapWizard.loginFilter = new LdapFilter('Login');
- LdapWizard.findAttributes();
+ LdapWizard.loginFilter.activate();
},
postInitLoginFilter: function() {
@@ -571,15 +569,30 @@ var LdapWizard = {
/** init user filter tab section **/
+ instantiateFilters: function() {
+ delete LdapWizard.userFilter;
+ LdapWizard.userFilter = new LdapFilter('User', function(mode) {
+ LdapWizard.userFilter.findFeatures();
+ });
+
+ delete LdapWizard.loginFilter;
+ LdapWizard.loginFilter = new LdapFilter('Login', function(mode) {
+ LdapWizard.loginFilter.findFeatures();
+ });
+
+ delete LdapWizard.groupFilter;
+ LdapWizard.groupFilter = new LdapFilter('Group', function(mode) {
+ LdapWizard.groupFilter.findFeatures();
+ });
+ },
+
userFilterObjectClassesHasRun: false,
userFilterAvailableGroupsHasRun: false,
initUserFilter: function() {
LdapWizard.userFilterObjectClassesHasRun = false;
LdapWizard.userFilterAvailableGroupsHasRun = false;
- LdapWizard.userFilter = new LdapFilter('User');
- LdapWizard.findObjectClasses('ldap_userfilter_objectclass', 'User');
- LdapWizard.findAvailableGroups('ldap_userfilter_groups', 'Users');
+ LdapWizard.userFilter.activate();
},
postInitUserFilter: function() {
@@ -713,9 +726,12 @@ var LdapWizard = {
},
toggleRawFilter: function(container, moc, mg, stateVar, modeKey) {
+ var isUser = moc.indexOf('user') >= 0;
+ var filter = isUser ? LdapWizard.userFilter : LdapWizard.groupFilter;
//moc = multiselect objectclass
//mg = mutliselect groups
if($(container).hasClass('invisible')) {
+ filter.setMode(LdapWizard.filterModeRaw);
$(container).removeClass('invisible');
$(moc).multiselect('disable');
if($(mg).multiselect().attr('disabled') == 'disabled') {
@@ -726,11 +742,13 @@ var LdapWizard = {
$(mg).multiselect('disable');
LdapWizard._save({ id: modeKey }, LdapWizard.filterModeRaw);
} else {
+ filter.setMode(LdapWizard.filterModeAssisted);
+ filter.findFeatures();
$(container).addClass('invisible');
$(mg).multiselect(LdapWizard[stateVar]);
$(moc).multiselect('enable');
LdapWizard._save({ id: modeKey }, LdapWizard.filterModeAssisted);
- if(moc.indexOf('user') >= 0) {
+ if(isUser) {
LdapWizard.blacklistRemove('ldap_userlist_filter');
LdapWizard.userFilter.compose(LdapWizard.detectEmailAttribute);
} else {
@@ -764,6 +782,8 @@ var LdapWizard = {
property = false;
mode = LdapWizard.filterModeAssisted;
}
+ LdapWizard.loginFilter.setMode(mode);
+ LdapWizard.loginFilter.findFeatures();
$('#ldap_loginfilter_attributes').multiselect(action);
$('#ldap_loginfilter_email').prop('disabled', property);
$('#ldap_loginfilter_username').prop('disabled', property);
@@ -837,6 +857,7 @@ $(document).ready(function() {
LdapWizard.initMultiSelect($('#ldap_groupfilter_objectclass'),
'ldap_groupfilter_objectclass',
t('user_ldap', 'Select object classes'));
+
$('.lwautosave').change(function() { LdapWizard.save(this); });
$('#toggleRawUserFilter').click(LdapWizard.toggleRawUserFilter);
$('#toggleRawGroupFilter').click(LdapWizard.toggleRawGroupFilter);