Sfoglia il codice sorgente

[useradmin] Remove server selection from ldap functionality when using legacy configuration

Abraham Elmahrek 11 anni fa
parent
commit
9175b87

+ 7 - 4
apps/useradmin/src/useradmin/forms.py

@@ -39,7 +39,7 @@ def get_server_choices():
   if desktop_conf.LDAP.LDAP_SERVERS.get():
     return [(ldap_server_record_key, ldap_server_record_key) for ldap_server_record_key in desktop_conf.LDAP.LDAP_SERVERS.get()]
   else:
-    return [('LDAP', 'LDAP')]
+    return []
 
 
 class UserChangeForm(django.contrib.auth.forms.UserChangeForm):
@@ -134,7 +134,8 @@ class AddLdapUsersForm(forms.Form):
 
   def __init__(self, *args, **kwargs):
     super(AddLdapUsersForm, self).__init__(*args, **kwargs)
-    self.fields['server'] = forms.ChoiceField(choices=get_server_choices(), required=False)
+    if get_server_choices():
+      self.fields['server'] = forms.ChoiceField(choices=get_server_choices(), required=True)
 
   def clean(self):
     cleaned_data = super(AddLdapUsersForm, self).clean()
@@ -184,7 +185,8 @@ class AddLdapGroupsForm(forms.Form):
 
   def __init__(self, *args, **kwargs):
     super(AddLdapGroupsForm, self).__init__(*args, **kwargs)
-    self.fields['server'] = forms.ChoiceField(choices=get_server_choices(), required=False)
+    if get_server_choices():
+      self.fields['server'] = forms.ChoiceField(choices=get_server_choices(), required=True)
 
   def clean(self):
     cleaned_data = super(AddLdapGroupsForm, self).clean()
@@ -315,4 +317,5 @@ class SyncLdapUsersGroupsForm(forms.Form):
                                             required=False)
   def __init__(self, *args, **kwargs):
     super(SyncLdapUsersGroupsForm, self).__init__(*args, **kwargs)
-    self.fields['server'] = forms.ChoiceField(choices=get_server_choices(), required=False)
+    if get_server_choices():
+      self.fields['server'] = forms.ChoiceField(choices=get_server_choices(), required=True)

+ 3 - 3
apps/useradmin/src/useradmin/views.py

@@ -313,7 +313,7 @@ def add_ldap_users(request):
     if form.is_valid():
       username_pattern = form.cleaned_data['username_pattern']
       import_by_dn = form.cleaned_data['dn']
-      server = form.cleaned_data['server']
+      server = form.cleaned_data.get('server')
       try:
         connection = ldap_access.get_connection_from_server(server)
         users = import_ldap_users(connection, username_pattern, False, import_by_dn)
@@ -359,7 +359,7 @@ def add_ldap_groups(request):
       import_by_dn = form.cleaned_data['dn']
       import_members = form.cleaned_data['import_members']
       import_members_recursive = form.cleaned_data['import_members_recursive']
-      server = form.cleaned_data['server']
+      server = form.cleaned_data.get('server')
       try:
         connection = ldap_access.get_connection_from_server(server)
         groups = import_ldap_groups(connection, groupname_pattern, import_members=import_members, import_members_recursive=import_members_recursive, sync_users=True, import_by_dn=import_by_dn)
@@ -394,7 +394,7 @@ def sync_ldap_users_groups(request):
     form = SyncLdapUsersGroupsForm(request.POST)
     if form.is_valid():
       is_ensuring_home_directory = form.cleaned_data['ensure_home_directory']
-      server = form.cleaned_data['server']
+      server = form.cleaned_data.get('server')
       connection = ldap_access.get_connection_from_server(server)
       sync_ldap_users_and_groups(connection, is_ensuring_home_directory, request.fs)
       return redirect(reverse(list_users))