Пример #1
0
def login_ajax(request):
    """Handles AJAX logins."""

    data = {'success': False}
    if request.method == "POST":
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            auth_login(request, form.get_user())

            data['success'] = True
            data['username'] = form.cleaned_data['username']

        else:
            data['error_msg'] = form_error_msg(form.errors)

    else:
        data['error_msg'] = 'Wrong request method'
    
    json = simplejson.dumps(data)
    return HttpResponse(json, mimetype='application/json')
Пример #2
0
def signup_ajax(request):
    """Handles AJAX signups."""

    data = {'success': False}
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            new_user.backend = 'archfinch.users.auth_backends.ModelBackend'
            auth_login(request, new_user)

            data['success'] = True
            data['username'] = new_user.username

        else:
            data['error_msg'] = form_error_msg(form.errors)
    else:
        data['error_msg'] = 'Wrong request method'

    json = simplejson.dumps(data)
    return HttpResponse(json, mimetype='application/json')
Пример #3
0
def add_comment(request, json=False):
    if json:
        return_data = {'success': False}

    if request.method == 'POST':
        data = {'category': 14}
        data.update(request.POST.items())
        form = AddCommentForm(data)
        if form.is_valid():
            comment = form.save(commit=False)
            comment.submitter = request.user
            comment.save()

            request.user.add_points(1)
            
            if json:
                return_data['success'] = True
                return_data['redirect_url'] = comment.get_absolute_url()
            else:
                return HttpResponseRedirect(comment.get_absolute_url())

        else:
            if json:
                return_data['error_msg'] = form_error_msg(form.errors)
            else:
                return render_to_response('form_error.html', locals(), context_instance=RequestContext(request))

    else:
        if json:
            return_data['error_msg'] = 'Wrong request method'
        else:
            return HttpResponseRedirect('/')

    if json:
        json = simplejson.dumps(return_data)
        return HttpResponse(json, mimetype='application/json')