summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/js
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2013-10-04 18:11:44 +0200
committerArthur Schiwon <blizzz@owncloud.com>2013-10-17 19:13:27 +0200
commit3cafcc2d47377187cd687a3bcde6a261ca8969ea (patch)
tree1caad25d818709f589c3c7de1e4814154a16397c /apps/user_ldap/js
parent5425511259397c0dee05b5d7ec8480fcc18c8184 (diff)
downloadnextcloud-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.js51
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){