Mercurial > kallithea
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 |