comparison rhodecode/model/user.py @ 1690:6944b1249f28 beta

fixed issues with not unique emails when using ldap or container auth.
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 16 Nov 2011 21:31:14 +0200
parents cc302c98bb8e
children 60249224be04
comparison
equal deleted inserted replaced
1689:cc302c98bb8e 1690:6944b1249f28
147 147
148 :param username: 148 :param username:
149 :param attrs: 149 :param attrs:
150 """ 150 """
151 if self.get_by_username(username, case_insensitive=True) is None: 151 if self.get_by_username(username, case_insensitive=True) is None:
152
153 # autogenerate email for container account without one
154 generate_email = lambda usr: '%s@container_auth.account' % usr
155
152 try: 156 try:
153 new_user = User() 157 new_user = User()
154 new_user.username = username 158 new_user.username = username
155 new_user.password = None 159 new_user.password = None
156 new_user.api_key = generate_api_key(username) 160 new_user.api_key = generate_api_key(username)
157 new_user.email = attrs['email'] 161 new_user.email = attrs['email']
158 new_user.active = attrs.get('active', True) 162 new_user.active = attrs.get('active', True)
159 new_user.name = attrs['name'] 163 new_user.name = attrs['name'] or generate_email(username)
160 new_user.lastname = attrs['lastname'] 164 new_user.lastname = attrs['lastname']
161 165
162 self.sa.add(new_user) 166 self.sa.add(new_user)
163 self.sa.commit() 167 self.sa.commit()
164 return new_user 168 return new_user