예제 #1
0
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)
예제 #2
0
    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
예제 #3
0
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))