예제 #1
0
def confirm_password_recovery(request, username, recovery_hash):
    user = get_object_or_404(User, username=username)
    if recovery_hash != hashlib.md5('%s-%s-%s' % (user.username, user.password, settings.SECRET_KEY)).hexdigest():
        raise Http404
    if request.method == 'POST':
        password_form = PasswordForm(request.POST)
        if password_form.is_valid():
            password = password_form.get_password()
            user.set_password(password)
            user.save()
            auth_user = authenticate(username=user.username, password=password)
            auth_login(request, auth_user)
            send_info(request, _('Your password has been changed. Welcome back %s') % user)
            return HttpResponseRedirect('/')
    else:
        password_form = PasswordForm()
    return render_to_response('registration/change_password.html',
                              {'password_form': password_form,
                               'user': user},
                              context_instance=RequestContext(request))
예제 #2
0
def confirm_password_recovery(request, username, recovery_hash):
    user = get_object_or_404(User, username=username)
    if recovery_hash != hashlib.md5(
            '%s-%s-%s' %
        (user.username, user.password, settings.SECRET_KEY)).hexdigest():
        raise Http404
    if request.method == 'POST':
        password_form = PasswordForm(request.POST)
        if password_form.is_valid():
            password = password_form.get_password()
            user.set_password(password)
            user.save()
            auth_user = authenticate(username=user.username, password=password)
            auth_login(request, auth_user)
            send_info(
                request,
                _('Your password has been changed. Welcome back %s') % user)
            return HttpResponseRedirect('/')
    else:
        password_form = PasswordForm()
    return render_to_response('registration/change_password.html', {
        'password_form': password_form,
        'user': user
    },
                              context_instance=RequestContext(request))
예제 #3
0
def confirm_register_view(request, username, registration_hash):
    registration = Registration.objects.actives().filter(username=username, registration_hash=registration_hash)
    if not registration.count():
        raise Http404
    registration = registration[0]
    profileform_class = get_profile_form()
    if request.method == 'POST':
        password_form = PasswordForm(request.POST)
        profileform = profileform_class(request.POST, registration=registration)
        if password_form.is_valid() and profileform.is_valid():
            password = password_form.get_password()
            user = profileform.save(password)
            auth_user = authenticate(username=user.username, password=password)
            auth_login(request, auth_user)
            registration.delete()
            send_info(request, _('Welcome %s') % user)
            return HttpResponseRedirect('/')
    else:
        password_form = PasswordForm()
    return render_to_response('registration/confirm_register.html',
                              {'password_form': password_form},
                              context_instance=RequestContext(request))
예제 #4
0
def confirm_register_view(request, username, registration_hash):
    registration = Registration.objects.actives().filter(
        username=username, registration_hash=registration_hash)
    if not registration.count():
        raise Http404
    registration = registration[0]
    profileform_class = get_profile_form()
    if request.method == 'POST':
        password_form = PasswordForm(request.POST)
        profileform = profileform_class(request.POST,
                                        registration=registration)
        if password_form.is_valid() and profileform.is_valid():
            password = password_form.get_password()
            user = profileform.save(password)
            auth_user = authenticate(username=user.username, password=password)
            auth_login(request, auth_user)
            registration.delete()
            send_info(request, _('Welcome %s') % user)
            return HttpResponseRedirect('/')
    else:
        password_form = PasswordForm()
    return render_to_response('registration/confirm_register.html',
                              {'password_form': password_form},
                              context_instance=RequestContext(request))