Mercurial > kallithea
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 |