diff --git a/rhodecode/lib/auth_ldap.py b/rhodecode/lib/auth_ldap.py --- a/rhodecode/lib/auth_ldap.py +++ b/rhodecode/lib/auth_ldap.py @@ -43,8 +43,7 @@ class AuthLdap(object): def __init__(self, server, base_dn, port=389, bind_dn='', bind_pass='', tls_kind='PLAIN', tls_reqcert='DEMAND', ldap_version=3, ldap_filter='(&(objectClass=user)(!(objectClass=computer)))', - search_scope='SUBTREE', - attr_login='uid'): + search_scope = 'SUBTREE', attr_login = 'uid'): self.ldap_version = ldap_version ldap_server_type = 'ldap' @@ -60,7 +59,7 @@ class AuthLdap(object): self.LDAP_SERVER_ADDRESS = server self.LDAP_SERVER_PORT = port - #USE FOR READ ONLY BIND TO LDAP SERVER + # USE FOR READ ONLY BIND TO LDAP SERVER self.LDAP_BIND_DN = bind_dn self.LDAP_BIND_PASS = bind_pass diff --git a/rhodecode/model/user.py b/rhodecode/model/user.py --- a/rhodecode/model/user.py +++ b/rhodecode/model/user.py @@ -149,6 +149,10 @@ class UserModel(BaseModel): :param attrs: """ if self.get_by_username(username, case_insensitive=True) is None: + + # autogenerate email for container account without one + generate_email = lambda usr: '%s@container_auth.account' % usr + try: new_user = User() new_user.username = username @@ -156,7 +160,7 @@ class UserModel(BaseModel): new_user.api_key = generate_api_key(username) new_user.email = attrs['email'] new_user.active = attrs.get('active', True) - new_user.name = attrs['name'] + new_user.name = attrs['name'] or generate_email(username) new_user.lastname = attrs['lastname'] self.sa.add(new_user)