);
};
+/**
+ * this function is triggered after attribute detectors have completed in
+ * LdapWizard
+ */
LdapFilter.prototype.afterDetectorsRan = function() {
this.updateCount();
};
+/**
+ * this function is triggered after LDAP filters have been composed successfully
+ * @param {object} result returned by the ajax call
+ */
LdapFilter.prototype.afterComposeSuccess = function(result) {
LdapWizard.applyChanges(result);
+ //best time to run attribute detectors
LdapWizard.runDetectors(this.target, this.afterDetectorsRan);
};
}
};
+/**
+ * this function is triggered before user and group counts are executed
+ * resolving the passed status variable will fire up counting
+ * @param {object} status an instance of $.Deferred
+ */
LdapFilter.prototype.beforeUpdateCount = function(status) {
return LdapWizard.runDetectors(this.target, function() {
status.resolve();
LdapWizard._countThings('countUsers', '#ldap_user_count', doneCallback);
},
+ /**
+ * called after detectors have run
+ * @callback runDetectorsCallback
+ */
+
+ /**
+ * runs detectors to determine appropriate attributes, e.g. displayName
+ * @param {string} type either "User" or "Group"
+ * @param {runDetectorsCallback} triggered after all detectors have completed
+ */
runDetectors: function(type, callback) {
if(type === 'Group') {
$.when(LdapWizard.detectGroupMemberAssoc())
}
},
+ /**
+ * runs detector to find out a fitting user display name attribute
+ */
detectUserDisplayNameAttribute: function() {
var param = 'action=detectUserDisplayNameAttribute' +
'&ldap_serverconfig_chooser='+