Ejemplo n.º 1
0
    def clean_email(self):
        """
        Check whether the email is in the system.  If it is registered
        to a closed account, send the user a reactivation link.
        """
        email = self.cleaned_data['email']

        user = get_user(email)
        if user:
            if user.is_closed:
                invite_user_to_reactivate_account(user, request=self.request)
                raise forms.ValidationError(
                    _('This email address is already registered to another '
                      '(closed) account. To reactivate this account, '
                      'please check your email inbox. To register a new '
                      'account, please use a different email address.'),
                    code='email_registered_to_closed_account')

            else:
                raise forms.ValidationError(_(
                    'Sorry, this email address is already '
                    'registered to another user.'),
                                            code='email_already_registered')

        return email
Ejemplo n.º 2
0
    def clean_email(self):
        """
        Check whether the email is in the system.  If it is registered
        to a closed account, send the user a reactivation link.
        """
        email = self.cleaned_data['email']

        user = get_user(email)
        if user:
            if user.is_closed:
                invite_user_to_reactivate_account(user, request=self.request)
                raise forms.ValidationError(
                    _('This email address is already registered to another '
                      '(closed) account. To reactivate this account, '
                      'please check your email inbox. To register a new '
                      'account, please use a different email address.'),

                    code='email_registered_to_closed_account'
                )

            else:
                raise forms.ValidationError(
                    _('Sorry, this email address is already '
                        'registered to another user.'),

                    code='email_already_registered'
                )

        return email
Ejemplo n.º 3
0
    def test_reactivated_account_token_is_reset(self):
        """
        Test that when a closed account is reactivated, their auth token
        is reset.
        """
        initial_token = self.standard_user.auth_token
        request = self.factory.get(reverse('accounts:request-invitation'))
        user = invite_user_to_reactivate_account(self.standard_user, request)

        self.assertNotEqual(initial_token, user.auth_token)
        self.assertFalse(user.auth_token_is_used)
Ejemplo n.º 4
0
    def test_reactivated_account_token_is_reset(self):
        """
        Test that when a closed account is reactivated, their auth token
        is reset.
        """
        initial_token = self.standard_user.auth_token
        request = self.factory.get(reverse('accounts:request-invitation'))
        user = invite_user_to_reactivate_account(self.standard_user, request)

        self.assertNotEqual(initial_token, user.auth_token)
        self.assertFalse(user.auth_token_is_used)
Ejemplo n.º 5
0
    def test_reactivation_email_sent_to_user(self):
        """
        Test that when a closed account is reactivated, they are sent an
        activation email.
        """
        request = self.factory.get('/')
        invite_user_to_reactivate_account(self.closed_user, request)

        expected_subject = 'Reactivate your {} account'.format(self.site.name)
        expected_intro = 'Hi {},'.format(self.closed_user.full_name)
        expected_content = '{} using this email address.'.format(
            self.site.name)
        expected_url = 'http://testserver/accounts/activate/{}'.format(
            self.closed_user.auth_token)
        email = mail.outbox[0]

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(email.subject, expected_subject)
        self.assertIn(expected_intro, email.body)
        self.assertIn(expected_content, email.body)
        self.assertIn(expected_url, email.body)
Ejemplo n.º 6
0
    def test_reactivation_email_sent_to_user(self):
        """
        Test that when a closed account is reactivated, they are sent an
        activation email.
        """
        request = self.factory.get('/')
        invite_user_to_reactivate_account(self.closed_user, request)

        expected_subject = 'Reactivate your {} account'.format(self.site.name)
        expected_intro = 'Hi {},'.format(self.closed_user.first_name)
        expected_content = '{} using this email address.'.format(
            self.site.name)
        expected_url = 'http://testserver/accounts/activate/{}'.format(
            self.closed_user.auth_token
        )
        email = mail.outbox[0]

        self.assertEqual(len(mail.outbox), 1)
        self.assertEqual(email.subject, expected_subject)
        self.assertIn(expected_intro, email.body)
        self.assertIn(expected_content, email.body)
        self.assertIn(expected_url, email.body)