Example #1
0
def request_materials(request):
    if request.method == 'POST':
        form = RequestMaterialsForm(request.POST)
        if form.is_valid():
            err = None
            try:
                email_ok = form.send_email()
                # if it processed without exception, email should be sent ok
            except Exception as ex:
                err = ex
                email_ok = False
            # TODO: use separate result page for request materials
            # display a success/thank you page
            response = render_to_response('content/request-materials.html', {
                    'email_sent': email_ok,
                    'err': err,
                }, context_instance=RequestContext(request))
            # if the email didn't go through, don't return a 200 ok status
            if not email_ok:
                response.status_code = 500
            return response

    else:
        form = RequestMaterialsForm()

    captcha_theme = getattr(settings, 'RECAPTCHA_THEME', None)

    return render_to_response('content/request-materials.html', {
            'form': form,
            'captcha_theme': captcha_theme,
        }, context_instance=RequestContext(request))
Example #2
0
def request_materials(request):
    if request.method == 'POST':
        form = RequestMaterialsForm(request.POST)
        if form.is_valid():
            err = None
            try:
                email_ok = form.send_email()
                # if it processed without exception, email should be sent ok
            except Exception as ex:
                err = ex
                email_ok = False
            # TODO: use separate result page for request materials
            # display a success/thank you page
            response = render(request, 'content/request-materials.html', {
                    'email_sent': email_ok,
                    'err': err,
                })
            # if the email didn't go through, don't return a 200 ok status
            if not email_ok:
                response.status_code = 500
            return response

    else:
        form = RequestMaterialsForm()

    captcha_theme = getattr(settings, 'RECAPTCHA_THEME', None)

    # Filter to remove archives whose contacts include members without an email (null) or with an empty email field
    archives = Archive.objects.filter(contacts__email__isnull=False).exclude(contacts__email__exact='').distinct().order_by("name")

    return render(request, 'content/request-materials.html', {
            'form': form,
            'captcha_theme': captcha_theme,
            'archives': archives
        })