fix triggering of group update counts. improves the basic code which is also responsible for user counts. i did not find regressions, please doublecheck

This commit is contained in:
Arthur Schiwon 2014-10-09 17:17:50 +02:00
parent 9f036e776e
commit 2cf0102797
2 changed files with 15 additions and 14 deletions

View File

@ -14,7 +14,7 @@ function LdapFilter(target, determineModeCallback) {
target === 'Group') { target === 'Group') {
this.target = target; this.target = target;
} }
}; }
LdapFilter.prototype.activate = function() { LdapFilter.prototype.activate = function() {
if(this.activated) { if(this.activated) {
@ -33,6 +33,11 @@ LdapFilter.prototype.compose = function(callback) {
return false; return false;
} }
if(this.mode === LdapWizard.filterModeRaw) {
//Raw filter editing, i.e. user defined filter, don't compose
return;
}
if(this.target === 'User') { if(this.target === 'User') {
action = 'getUserListFilter'; action = 'getUserListFilter';
} else if(this.target === 'Login') { } else if(this.target === 'Login') {
@ -41,11 +46,6 @@ LdapFilter.prototype.compose = function(callback) {
action = 'getGroupFilter'; action = 'getGroupFilter';
} }
if(!$('#raw'+this.target+'FilterContainer').hasClass('invisible')) {
//Raw filter editing, i.e. user defined filter, don't compose
return;
}
var param = 'action='+action+ var param = 'action='+action+
'&ldap_serverconfig_chooser='+ '&ldap_serverconfig_chooser='+
encodeURIComponent($('#ldap_serverconfig_chooser').val()); encodeURIComponent($('#ldap_serverconfig_chooser').val());
@ -55,10 +55,9 @@ LdapFilter.prototype.compose = function(callback) {
LdapWizard.ajax(param, LdapWizard.ajax(param,
function(result) { function(result) {
LdapWizard.applyChanges(result); LdapWizard.applyChanges(result);
if(filter.target === 'User') { console.log(filter.mode);
LdapWizard.countUsers(); filter.updateCount();
} else if(filter.target === 'Group') { if(filter.target === 'Group') {
LdapWizard.countGroups();
LdapWizard.detectGroupMemberAssoc(); LdapWizard.detectGroupMemberAssoc();
} }
if(typeof callback !== 'undefined') { if(typeof callback !== 'undefined') {

View File

@ -542,7 +542,6 @@ var LdapWizard = {
initGroupFilter: function() { initGroupFilter: function() {
LdapWizard.groupFilter.activate(); LdapWizard.groupFilter.activate();
LdapWizard.countGroups();
}, },
/** init login filter tab section **/ /** init login filter tab section **/
@ -576,6 +575,9 @@ var LdapWizard = {
instantiateFilters: function() { instantiateFilters: function() {
delete LdapWizard.userFilter; delete LdapWizard.userFilter;
LdapWizard.userFilter = new LdapFilter('User', function(mode) { LdapWizard.userFilter = new LdapFilter('User', function(mode) {
if(mode === LdapWizard.filterModeAssisted) {
LdapWizard.groupFilter.updateCount();
}
LdapWizard.userFilter.findFeatures(); LdapWizard.userFilter.findFeatures();
}); });
$('#rawUserFilterContainer .ldapGetEntryCount').click(function(event) { $('#rawUserFilterContainer .ldapGetEntryCount').click(function(event) {
@ -593,6 +595,9 @@ var LdapWizard = {
delete LdapWizard.groupFilter; delete LdapWizard.groupFilter;
LdapWizard.groupFilter = new LdapFilter('Group', function(mode) { LdapWizard.groupFilter = new LdapFilter('Group', function(mode) {
if(mode === LdapWizard.filterModeAssisted) {
LdapWizard.groupFilter.updateCount();
}
LdapWizard.groupFilter.findFeatures(); LdapWizard.groupFilter.findFeatures();
}); });
$('#rawGroupFilterContainer .ldapGetEntryCount').click(function(event) { $('#rawGroupFilterContainer .ldapGetEntryCount').click(function(event) {
@ -617,7 +622,6 @@ var LdapWizard = {
if(LdapWizard.userFilterObjectClassesHasRun && if(LdapWizard.userFilterObjectClassesHasRun &&
LdapWizard.userFilterAvailableGroupsHasRun) { LdapWizard.userFilterAvailableGroupsHasRun) {
LdapWizard.userFilter.compose(LdapWizard.detectEmailAttribute); LdapWizard.userFilter.compose(LdapWizard.detectEmailAttribute);
LdapWizard.countUsers();
} }
}, },
@ -657,10 +661,8 @@ var LdapWizard = {
} }
if(triggerObj.id == 'ldap_userlist_filter' && !LdapWizard.admin.isExperienced()) { if(triggerObj.id == 'ldap_userlist_filter' && !LdapWizard.admin.isExperienced()) {
LdapWizard.countUsers();
LdapWizard.detectEmailAttribute(); LdapWizard.detectEmailAttribute();
} else if(triggerObj.id == 'ldap_group_filter' && !LdapWizard.admin.isExperienced()) { } else if(triggerObj.id == 'ldap_group_filter' && !LdapWizard.admin.isExperienced()) {
LdapWizard.countGroups();
LdapWizard.detectGroupMemberAssoc(); LdapWizard.detectGroupMemberAssoc();
} }