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')
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')
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')