def clean_email(self): try: user = User.objects.select_related().get(email = self.cleaned_data['email']) if user.is_active: raise forms.ValidationError('This email is already registered and activated.') else: send_registration_confirmation(user) raise forms.ValidationError("This email is already registered. We've e-mailed you confirmation code to the e-mail address you submitted.") except User.DoesNotExist: school_email_suffix = self.cleaned_data['email'].split('@')[-1] if school_email_suffix in VALID_EMAIL_SUFFIX: return self.cleaned_data['email'] raise forms.ValidationError('Please provide your iu.edu email address')
def register_page(request): if request.method == 'POST': form = RegistrationForm(request.POST) if form.is_valid(): user = User.objects.create_user( username = form.cleaned_data['username'], password = form.cleaned_data['password1'], email = form.cleaned_data['email'] ) user.is_active = False user.save() confirmation_code = ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for x in range(33)) unsubscribe_code = ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for x in range(33)) p = UserProfile(user=user, confirmation_code=confirmation_code, unsubscribe_code = unsubscribe_code) p.save() send_registration_confirmation(user) return render_to_response('registration/register_confirm.html', dict(), context_instance=RequestContext(request)) else: form = RegistrationForm() return render_to_response('registration/register.html', dict(form = form), context_instance=RequestContext(request))