def ajax_signup(request): if request.is_ajax() and request.method == 'POST': user_type = request.POST.get('user_type', USER_TYPE_PARTICIPANT) if user_type == USER_TYPE_SCIENTIST: form = ScientistSignupForm(request.POST) elif user_type == USER_TYPE_DEPARTMENT: form = DepartmentSignupForm(request.POST) else: form = ParticipantSignupForm(request.POST) if form.is_valid(): user = form.save(request) request.session['user_type'] = user_type if not hasattr(user, 'backend'): user.backend = "django.contrib.auth.backends.ModelBackend" django_login(request, user) data = {'status': 'success'} else: data = json.loads(errors_to_json(form.errors)) return json_result(request, data) else: user_type = request.REQUEST.get('user_type', USER_TYPE_PARTICIPANT) next = request.REQUEST.get('next', None) context = { 'user_type': user_type if user_type else USER_TYPE_PARTICIPANT, 'next': next, } return render_to_response("account/ajax_signup.html", context, context_instance=RequestContext(request))
def ajax_login(request): if request.is_ajax() and request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): login(request, request.user) data = {'status': 'success'} else: data = json.loads(errors_to_json(form.errors)) return json_result(request, data) else: return render_to_response("account/ajax_login.html", {}, context_instance=RequestContext(request))