aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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']