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