comparison rhodecode/model/user.py @ 1689:cc302c98bb8e beta

fix fo empty email passed in attributes of ldap account. It causes crash when creating auto account for ldap.
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 16 Nov 2011 21:25:41 +0200
parents f522f4d3bf93
children 6944b1249f28
comparison
equal deleted inserted replaced
1688:82e604d3fc46 1689:cc302c98bb8e
181 :param attrs: 181 :param attrs:
182 """ 182 """
183 from rhodecode.lib.auth import get_crypt_password 183 from rhodecode.lib.auth import get_crypt_password
184 log.debug('Checking for such ldap account in RhodeCode database') 184 log.debug('Checking for such ldap account in RhodeCode database')
185 if self.get_by_username(username, case_insensitive=True) is None: 185 if self.get_by_username(username, case_insensitive=True) is None:
186
187 # autogenerate email for ldap account without one
188 generate_email = lambda usr: '%s@ldap.account' % usr
189
186 try: 190 try:
187 new_user = User() 191 new_user = User()
192 username = username.lower()
188 # add ldap account always lowercase 193 # add ldap account always lowercase
189 new_user.username = username.lower() 194 new_user.username = username
190 new_user.password = get_crypt_password(password) 195 new_user.password = get_crypt_password(password)
191 new_user.api_key = generate_api_key(username) 196 new_user.api_key = generate_api_key(username)
192 new_user.email = attrs['email'] 197 new_user.email = attrs['email'] or generate_email(username)
193 new_user.active = attrs.get('active', True) 198 new_user.active = attrs.get('active', True)
194 new_user.ldap_dn = safe_unicode(user_dn) 199 new_user.ldap_dn = safe_unicode(user_dn)
195 new_user.name = attrs['name'] 200 new_user.name = attrs['name']
196 new_user.lastname = attrs['lastname'] 201 new_user.lastname = attrs['lastname']
197 202