示例#1
0
def create_user(request):
    context = {}
    context_instance = RequestContext(request)
    form = UserCreateForm(request.POST or None)
    context['form'] = form
    
    if request.user.is_authenticated():
        return redirect('/user/dashboard')

    if request.method == 'POST' and form.is_valid():
        first_name = form.cleaned_data['first_name']
        last_name = form.cleaned_data['last_name']
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        email = form.cleaned_data['email']
        phone = form.cleaned_data['phone']
        try:
            users_manager.create_user(first_name, last_name, username, password, email, phone)
            # authenticate and login
            user = authenticate(username=username, password=password)
            login_auth(request, user)
            return redirect('/user/dashboard')
        except Exception as exc:
            # 400
            form.errors['__all__'] = form.error_class(["Error: %s" % exc.message])

    # GET / POST with invalid input
    return render_to_response('user/create.html', context, context_instance=context_instance)