diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2013-10-04 18:11:44 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2013-10-17 19:13:27 +0200 |
commit | 3cafcc2d47377187cd687a3bcde6a261ca8969ea (patch) | |
tree | 1caad25d818709f589c3c7de1e4814154a16397c /apps/user_ldap/js | |
parent | 5425511259397c0dee05b5d7ec8480fcc18c8184 (diff) | |
download | nextcloud-server-3cafcc2d47377187cd687a3bcde6a261ca8969ea.tar.gz nextcloud-server-3cafcc2d47377187cd687a3bcde6a261ca8969ea.zip |
LDAP Wizard: add detection, load and save of LDAP groups for filter purposes
Diffstat (limited to 'apps/user_ldap/js')
-rw-r--r-- | apps/user_ldap/js/settings.js | 51 |
1 files changed, 40 insertions, 11 deletions
diff --git a/apps/user_ldap/js/settings.js b/apps/user_ldap/js/settings.js index 88f63e25ca2..8949f5002ca 100644 --- a/apps/user_ldap/js/settings.js +++ b/apps/user_ldap/js/settings.js @@ -202,6 +202,27 @@ var LdapWizard = { } }, + findAvailableGroups: function() { + param = 'action=determineGroups'+ + '&ldap_serverconfig_chooser='+$('#ldap_serverconfig_chooser').val(); + + LdapWizard.ajax(param, + function(result) { + $('#ldap_userfilter_groups').find('option').remove(); + for (i in result.options['ldap_userfilter_groups']) { + //FIXME: move HTML into template + objc = result.options['ldap_userfilter_groups'][i]; + $('#ldap_userfilter_groups').append("<option value='"+objc+"'>"+objc+"</option>"); + } + LdapWizard.applyChanges(result); + $('#ldap_userfilter_groups').multiselect('refresh'); + }, + function (result) { + //TODO: error handling + } + ); + }, + findObjectClasses: function() { param = 'action=determineObjectClasses'+ '&ldap_serverconfig_chooser='+$('#ldap_serverconfig_chooser').val(); @@ -236,8 +257,21 @@ var LdapWizard = { } }, + initMultiSelect: function(object, id, caption) { + object.multiselect({ + header: false, + selectedList: 9, + noneSelectedText: caption, + click: function(event, ui) { + LdapWizard.saveMultiSelect(id, + $('#'+id).multiselect("getChecked")); + } + }); + }, + initUserFilter: function() { LdapWizard.findObjectClasses(); + LdapWizard.findAvailableGroups(); }, onTabChange: function(event, ui) { @@ -304,17 +338,12 @@ $(document).ready(function() { $('#ldap_submit').button(); $('#ldap_action_test_connection').button(); $('#ldap_action_delete_configuration').button(); - $('#ldap_userfilter_groups').multiselect(); - $('#ldap_userfilter_objectclass').multiselect({ - header: false, - selectedList: 9, - noneSelectedText: t('user_ldap', 'Select object classes'), - click: function(event, ui) { - LdapWizard.saveMultiSelect('ldap_userfilter_objectclass', - $('#ldap_userfilter_objectclass').multiselect("getChecked") - ); - } - }); + LdapWizard.initMultiSelect($('#ldap_userfilter_groups'), + 'ldap_userfilter_groups', + t('user_ldap', 'Select groups')); + LdapWizard.initMultiSelect($('#ldap_userfilter_objectclass'), + 'ldap_userfilter_objectclass', + t('user_ldap', 'Select object classes')); $('.lwautosave').change(function() { LdapWizard.save(this); }); LdapConfiguration.refreshConfig(); $('#ldap_action_test_connection').click(function(event){ |