aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2011-11-16 21:31:14 +0200
committerMarcin Kuzminski <marcin@python-works.com>2011-11-16 21:31:14 +0200
commit653daf6313b7f05a31ce57d86720bf0a46d8fe32 (patch)
tree13bbe760345da25d3b42e8e1e8fad22f4eb92ae5
parent214d7513845077125e7e63f348debf6227c14278 (diff)
fixed issues with not unique emails when using ldap or container auth.
--HG-- branch : beta
-rw-r--r--rhodecode/lib/auth_ldap.py5
-rw-r--r--rhodecode/model/user.py6
2 files changed, 7 insertions, 4 deletions
diff --git a/rhodecode/lib/auth_ldap.py b/rhodecode/lib/auth_ldap.py
index f25ed64f..e6e43828 100644
--- 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
index 99725fde..fc08a367 100644
--- 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)