aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/user.py
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2011-11-16 21:25:41 +0200
committerMarcin Kuzminski <marcin@python-works.com>2011-11-16 21:25:41 +0200
commit214d7513845077125e7e63f348debf6227c14278 (patch)
tree2487a1f59440c8a728a1ab23c4ad224cf7b53611 /rhodecode/model/user.py
parentaa22c4e0b1d3d5ee0e982391be47fa7967a84742 (diff)
fix fo empty email passed in attributes of ldap account.
It causes crash when creating auto account for ldap. --HG-- branch : beta
Diffstat (limited to 'rhodecode/model/user.py')
-rw-r--r--rhodecode/model/user.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/rhodecode/model/user.py b/rhodecode/model/user.py
index 992cef40..99725fde 100644
--- a/rhodecode/model/user.py
+++ b/rhodecode/model/user.py
@@ -183,13 +183,18 @@ class UserModel(BaseModel):
from rhodecode.lib.auth import get_crypt_password
log.debug('Checking for such ldap account in RhodeCode database')
if self.get_by_username(username, case_insensitive=True) is None:
+
+ # autogenerate email for ldap account without one
+ generate_email = lambda usr: '%s@ldap.account' % usr
+
try:
new_user = User()
+ username = username.lower()
# add ldap account always lowercase
- new_user.username = username.lower()
+ new_user.username = username
new_user.password = get_crypt_password(password)
new_user.api_key = generate_api_key(username)
- new_user.email = attrs['email']
+ new_user.email = attrs['email'] or generate_email(username)
new_user.active = attrs.get('active', True)
new_user.ldap_dn = safe_unicode(user_dn)
new_user.name = attrs['name']