def confirm_account(request, code): """ Returns 1: Account confirmed 2: Code does not exist 3: Code has expired""" result = 1 try: user = User.objects.get(username=code) profile = user.get_profile() current_datetime = datetime.now() if current_datetime > profile.confirmation_code_expiration_datetime: result = 3 if (result): user.is_active = True user.username = generate_username(user.email) user.save() except User.DoesNotExist: result = 2 context = RequestContext(request, {'result': result, 'code': code}) return render_to_response('myAuth/confirm_account.html', context)
def clean(self): # generates the username only if the email was properly filled email = self.cleaned_data.get("email") if email not in validators.EMPTY_VALUES: self.cleaned_data["username"] = generate_username(email) # generates the first name and last names if fullname was filled fullname = self.cleaned_data.get("fullname") if fullname not in validators.EMPTY_VALUES: fullname = fullname.partition(" ") self.cleaned_data["first_name"] = fullname[0] self.cleaned_data["last_name"] = fullname[2] return self.cleaned_data
def send_confirmation_code(request, code): """ Needs to make a nice html response... maybe someday when I actually use this app, I'll do it """ try: user = User.objects.get(username=code) except User.DoesNotExist: context = RequestContext(request, {'result': 2, 'code': code}) return render_to_response('myAuth/confirm_account.html', context) username = generate_username(user.email) user.username = username user.save() context = Context({'account': user}) template = get_template('myAuth/confirm_account_email.html') template = template.render(context) send_confirmation_email(template, "*****@*****.**", [user.email]) return render_to_response('myAuth/send_confirmation_code.html', RequestContext(request))