this.determineModeCallback = determineModeCallback;
this.foundFeatures = false;
this.activated = false;
+ this.countPending = false;
if( target === 'User' ||
target === 'Login' ||
this.determineMode();
};
-LdapFilter.prototype.compose = function() {
+LdapFilter.prototype.compose = function(updateCount = false) {
var action;
+ if(updateCount) {
+ this.countPending = updateCount;
+ }
+
if(this.locked) {
this.lazyRunCompose = true;
return false;
filter.afterComposeSuccess(result);
},
function () {
+ filter.countPending = false;
console.log('LDAP Wizard: could not compose filter. '+
'Please check owncloud.log');
}
*/
LdapFilter.prototype.afterComposeSuccess = function(result) {
LdapWizard.applyChanges(result);
+ if(this.countPending) {
+ this.countPending = false;
+ this.updateCount();
+ }
};
LdapFilter.prototype.determineMode = function() {
instantiateFilters: function() {
delete LdapWizard.userFilter;
LdapWizard.userFilter = new LdapFilter('User', function(mode) {
- if(mode === LdapWizard.filterModeAssisted) {
+ if( !LdapWizard.admin.isExperienced()
+ || mode === LdapWizard.filterModeAssisted) {
LdapWizard.userFilter.updateCount();
}
LdapWizard.userFilter.findFeatures();
delete LdapWizard.groupFilter;
LdapWizard.groupFilter = new LdapFilter('Group', function(mode) {
- if(mode === LdapWizard.filterModeAssisted) {
+ if( !LdapWizard.admin.isExperienced()
+ || mode === LdapWizard.filterModeAssisted) {
LdapWizard.groupFilter.updateCount();
}
LdapWizard.groupFilter.findFeatures();
if(triggerObj.id === 'ldap_loginfilter_username'
|| triggerObj.id === 'ldap_loginfilter_email') {
LdapWizard.loginFilter.compose();
+ } else if (!LdapWizard.admin.isExperienced()) {
+ if(triggerObj.id === 'ldap_userlist_filter') {
+ LdapWizard.userFilter.updateCount();
+ } else if (triggerObj.id === 'ldap_group_filter') {
+ LdapWizard.groupFilter.updateCount();
+ }
}
if($('#ldapSettings').tabs('option', 'active') == 0) {
LdapWizard._save($('#'+originalObj)[0], $.trim(values));
if(originalObj === 'ldap_userfilter_objectclass'
|| originalObj === 'ldap_userfilter_groups') {
- LdapWizard.userFilter.compose();
+ LdapWizard.userFilter.compose(!LdapWizard.admin.isExperienced());
//when user filter is changed afterwards, login filter needs to
//be adjusted, too
if(!LdapWizard.loginFilter) {
LdapWizard.loginFilter.compose();
} else if(originalObj === 'ldap_groupfilter_objectclass'
|| originalObj === 'ldap_groupfilter_groups') {
- LdapWizard.groupFilter.compose();
+ LdapWizard.groupFilter.compose(!LdapWizard.admin.isExperienced());
}
},
LdapWizard._save({ id: modeKey }, LdapWizard.filterModeAssisted);
if(isUser) {
LdapWizard.blacklistRemove('ldap_userlist_filter');
- LdapWizard.userFilter.compose();
+ LdapWizard.userFilter.compose(!LdapWizard.admin.isExperienced());
} else {
LdapWizard.blacklistRemove('ldap_group_filter');
- LdapWizard.groupFilter.compose();
+ LdapWizard.groupFilter.compose(!LdapWizard.admin.isExperienced());
}
}
},