Example #1
0
def page_login(request):
    if request.user.is_authenticated():
        logout(request)

    if request.POST:
        # passing in request checks for cookies
        form = OrgLoginForm(request, data=request.POST)
        if form.is_valid():
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()

            user = form.get_user()
            login(request, user)

            # redirect to homepage
            redirect_to = reverse('orgadmin-home')
            return HttpResponseRedirect(redirect_to)
    else:
        form = OrgLoginForm()

    request.session.set_test_cookie()

    context = ManagePageContext(request, content_dict=dict(
        form=form,
        form_action=reverse('orgadmin-login'),
        remember_me=RememberMeForm(),
    ))
    return render_to_response('orgadmin/page_login.html', context_instance=context)
Example #2
0
def page_signup(request):
    if request.user.is_authenticated():
        logout(request)

    if request.POST:
        reg_form = RegistrationForm(request.POST, prefix='reg')
        org_form = SimpleOrgForm(request.POST, prefix='org')

        if reg_form.is_valid() and org_form.is_valid():
            reg_form.save()     # saves new user
            org = org_form.save()   # saves new org

            # test if the browser supports cookies
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()

                # authenticate new user and log in
                user = authenticate(username=reg_form.cleaned_data['username'],
                    password=reg_form.cleaned_data['password1'])
                login(request, user)

                # set user as administrator to given org
                org.administrators.add(user)

                # redirect to home page
                return _redirect_home(request, notification_type=1)
            else:   # if cookies aren't enabled, go to login page
                return redirect('orgadmin-login')
    else:
        reg_form = RegistrationForm(prefix='reg')
        org_form = SimpleOrgForm(prefix='org')

    request.session.set_test_cookie()

    context = ManagePageContext(request, content_dict=dict(
        registration_form=reg_form,
        org_form=org_form,
        remember_me=RememberMeForm(),
    ))
    return render_to_response('orgadmin/page_signup.html', context_instance=context)