Commit 4f029169 by Michael Hall

Merge from trunk

parents 63b05e4c e33d9822
......@@ -192,6 +192,9 @@ class OpenIDBackend:
if details['email']:
user.email = details['email']
updated = True
if getattr(settings, 'OPENID_FOLLOW_RENAMES', False):
user.username = details['nickname']
updated = True
if updated:
user.save()
......
......@@ -286,6 +286,10 @@ class RelyingPartyTests(TestCase):
self.assertEquals(user.last_name, 'User')
self.assertEquals(user.email, 'foo@example.com')
def test_login_update_details_rename(self):
settings.OPENID_FOLLOW_RENAMES = True
return self.test_login_update_details()
def test_login_update_details(self):
settings.OPENID_UPDATE_DETAILS_FROM_SREG = True
user = User.objects.create_user('testuser', 'someone@example.com')
......@@ -313,13 +317,19 @@ class RelyingPartyTests(TestCase):
response = self.complete(openid_response)
self.assertRedirects(response, 'http://testserver/getuser/')
# And they are now logged in as testuser (the passed in
# If OPENID_FOLLOW_RENAMES, they are logged in as
# someuser (the passed in nickname has changed the username)
#
# Otherwise they are now logged in as testuser (the passed in
# nickname has not caused the username to change).
response = self.client.get('/getuser/')
self.assertEquals(response.content, 'testuser')
if getattr(settings, 'OPENID_FOLLOW_RENAMES', False):
self.assertEquals(response.content, 'someuser')
else:
self.assertEquals(response.content, 'testuser')
# The user's full name and email have been updated.
user = User.objects.get(username='testuser')
user = User.objects.get(username=response.content)
self.assertEquals(user.first_name, 'Some')
self.assertEquals(user.last_name, 'User')
self.assertEquals(user.email, 'foo@example.com')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment