예제 #1
0
파일: user.py 프로젝트: BigManager/Spirit
def email_change_confirm(request, token):
    user = request.user
    email_change = UserEmailChangeTokenGenerator()

    if email_change.is_valid(user, token):
        user.email = email_change.get_email()
        user.save()
        messages.info(request, _("Your email has been changed!"))

    return redirect(reverse('spirit:profile-update'))
예제 #2
0
파일: user.py 프로젝트: cralison/Spirit
def email_change_confirm(request, token):
    user = request.user
    email_change = UserEmailChangeTokenGenerator()

    if email_change.is_valid(user, token):
        user.email = email_change.get_email()
        user.save()
        messages.info(request, _("Your email has been changed!"))

    return redirect(reverse('spirit:profile-update'))
예제 #3
0
        def monkey_sender(request, subject, template_name, context, email):
            self.assertEqual(request, req)
            self.assertEqual(email, [self.user.email, ])

            change_token = UserEmailChangeTokenGenerator()
            token = change_token.generate(self.user, new_email)
            self.assertDictEqual(context, {'token': token, })

            self.assertEqual(subject, _("Email change"))
            self.assertEqual(template_name, 'spirit/user/email_change_email.html')

            self._monkey_sender_called = True
예제 #4
0
        def monkey_sender(request, subject, template_name, context, email):
            self.assertEqual(request, req)
            self.assertEqual(email, [self.user.email, ])

            change_token = UserEmailChangeTokenGenerator()
            token = change_token.generate(self.user, new_email)
            self.assertDictEqual(context, {'token': token, })

            self.assertEqual(subject, _("Email change"))
            self.assertEqual(template_name, 'spirit/user/email_change_email.html')

            self._monkey_sender_called = True
예제 #5
0
 def test_email_change_confirm(self):
     """
     email change confirmation
     """
     utils.login(self)
     new_email = "*****@*****.**"
     token = UserEmailChangeTokenGenerator().generate(self.user, new_email)
     response = self.client.get(
         reverse('spirit:email-change-confirm', kwargs={'token': token}))
     expected_url = reverse("spirit:profile-update")
     self.assertRedirects(response, expected_url, status_code=302)
     self.assertEqual(User.objects.get(pk=self.user.pk).email, new_email)
예제 #6
0
 def test_email_change_confirm_invalid(self):
     """
     The token should expire after email change
     """
     utils.login(self)
     old_email = "*****@*****.**"
     token = UserEmailChangeTokenGenerator().generate(self.user, old_email)
     new_email = "*****@*****.**"
     User.objects.filter(pk=self.user.pk).update(email=new_email)
     response = self.client.get(
         reverse('spirit:email-change-confirm', kwargs={'token': token}))
     expected_url = reverse("spirit:profile-update")
     self.assertRedirects(response, expected_url, status_code=302)
     self.assertEqual(User.objects.get(pk=self.user.pk).email, new_email)
예제 #7
0
파일: tests_utils.py 프로젝트: gone/Spirit
    def test_user_email_change_token_generator(self):
        """
        Email change
        """
        new_email = "*****@*****.**"
        email_change_token = UserEmailChangeTokenGenerator()
        token = email_change_token.generate(self.user, new_email)
        self.assertTrue(email_change_token.is_valid(self.user, token))
        self.assertFalse(email_change_token.is_valid(self.user, "bad token"))

        # get new email
        self.assertTrue(email_change_token.is_valid(self.user, token))
        self.assertEqual(email_change_token.get_email(), new_email)

        # Invalid for different user
        user2 = test_utils.create_user()
        self.assertFalse(email_change_token.is_valid(user2, token))

        # Invalid after email change
        self.user.email = "*****@*****.**"
        self.assertFalse(email_change_token.is_valid(self.user, token))
예제 #8
0
    def test_user_email_change_token_generator(self):
        """
        Email change
        """
        new_email = "*****@*****.**"
        email_change_token = UserEmailChangeTokenGenerator()
        token = email_change_token.generate(self.user, new_email)
        self.assertTrue(email_change_token.is_valid(self.user, token))
        self.assertFalse(email_change_token.is_valid(self.user, "bad token"))

        # get new email
        self.assertTrue(email_change_token.is_valid(self.user, token))
        self.assertEqual(email_change_token.get_email(), new_email)

        # Invalid for different user
        user2 = test_utils.create_user()
        self.assertFalse(email_change_token.is_valid(user2, token))

        # Invalid after email change
        self.user.email = "*****@*****.**"
        self.assertFalse(email_change_token.is_valid(self.user, token))