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
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
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)
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)
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)
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)