diff rhodecode/lib/auth.py @ 1292:c0335c1dee36 beta

added some fixes to LDAP form re-submition, new simples ldap-settings getter. Updated docs for new ldap fixes. Removed depracated settings model, in exchange for db model classmethods.
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 27 Apr 2011 01:19:17 +0200
parents 74685a31cc43
children 166317d464f3
line wrap: on
line diff
--- a/rhodecode/lib/auth.py	Tue Apr 26 20:28:46 2011 +0200
+++ b/rhodecode/lib/auth.py	Wed Apr 27 01:19:17 2011 +0200
@@ -48,7 +48,7 @@
 
 from rhodecode.model import meta
 from rhodecode.model.user import UserModel
-from rhodecode.model.db import Permission
+from rhodecode.model.db import Permission, RhodeCodeSettings
 
 log = logging.getLogger(__name__)
 
@@ -149,6 +149,7 @@
     :param username: username
     :param password: password
     """
+
     user_model = UserModel()
     user = user_model.get_by_username(username, cache=False)
 
@@ -176,9 +177,7 @@
             log.debug('this user already exists as non ldap')
             return False
 
-        from rhodecode.model.settings import SettingsModel
-        ldap_settings = SettingsModel().get_ldap_settings()
-
+        ldap_settings = RhodeCodeSettings.get_ldap_settings()
         #======================================================================
         # FALLBACK TO LDAP AUTH IF ENABLE
         #======================================================================
@@ -204,13 +203,13 @@
                                                                 password)
                 log.debug('Got ldap DN response %s', user_dn)
 
+                get_ldap_attr = lambda k:ldap_attrs.get(ldap_settings\
+                                                           .get(k), [''])[0]
+
                 user_attrs = {
-                    'name': ldap_attrs.get(ldap_settings\
-                                       .get('ldap_attr_firstname'), [''])[0],
-                    'lastname': ldap_attrs.get(ldap_settings\
-                                           .get('ldap_attr_lastname'),[''])[0],
-                    'email': ldap_attrs.get(ldap_settings\
-                                        .get('ldap_attr_email'), [''])[0],
+                    'name': get_ldap_attr('ldap_attr_firstname'),
+                    'lastname': get_ldap_attr('ldap_attr_lastname'),
+                    'email': get_ldap_attr('ldap_attr_email'),
                     }
 
                 if user_model.create_ldap(username, password, user_dn,