def contact(request): recipients = getattr(settings, 'CONTACT_FORM_RECIPIENTS', settings.MANAGERS) if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): cd = form.cleaned_data send_mail( cd['subject'], cd['message'], cd.get('email', cd['email']), [ i[1] for i in recipients ], # send to managers as defined in project's settings.py file ) return HttpResponseRedirect(reverse('success')) else: form = ContactForm( #initial={'subject': 'Message from the contact form.'} # prepopulates the subject line ) if request.is_ajax(): return render_to_response('contact/form.html', {'form': form}, context_instance=RequestContext(request)) else: return render_to_response('contact/contact_form.html', {'form': form}, context_instance=RequestContext(request))
def test_no_sites(self): """ Sites integration works with or without installed contrib.sites. """ with self.modify_settings(INSTALLED_APPS={"remove": ["django.contrib.sites"]}): form = ContactForm(request=self.request(), data=self.valid_data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox))
def test_send(self): """ Valid form can and does in fact send email. """ form = ContactForm(request=self.request(), data=self.valid_data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox)) message = mail.outbox[0] self.assertTrue(self.valid_data["body"] in message.body) self.assertEqual(settings.DEFAULT_FROM_EMAIL, message.from_email) self.assertEqual(form.recipient_list, message.recipients())
def test_recipient_list(self): """ Passing recipient_list when instantiating ContactForm properly overrides the list of recipients. """ recipient_list = ["*****@*****.**"] form = ContactForm( request=self.request(), data=self.valid_data, recipient_list=recipient_list ) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox)) message = mail.outbox[0] self.assertEqual(recipient_list, message.recipients())
def contact(request): recipients = getattr(settings, "CONTACT_FORM_RECIPIENTS", settings.MANAGERS) if request.method == "POST": form = ContactForm(request.POST) if form.is_valid(): cd = form.cleaned_data send_mail( "Message from your Django Contact Form", # Email Subject cd["message"], cd.get("email", cd["email"]), # Email From [i[1] for i in recipients], ) return HttpResponseRedirect(reverse("success")) else: form = ContactForm() if request.is_ajax(): return render_to_response("contact/form.html", {"form": form}, context_instance=RequestContext(request)) else: return render_to_response("contact/contact_form.html", {"form": form}, context_instance=RequestContext(request))
def contact(request): recipients = getattr(settings, 'CONTACT_FORM_RECIPIENTS', settings.MANAGERS) if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): cd = form.cleaned_data send_mail( cd['subject'], cd['message'], cd.get('email', cd['email']), [i[1] for i in recipients], # send to managers as defined in project's settings.py file ) return HttpResponseRedirect(reverse('success')) else: form = ContactForm( #initial={'subject': 'Message from the contact form.'} # prepopulates the subject line ) if request.is_ajax(): return render_to_response('contact/form.html', {'form': form}, context_instance=RequestContext(request)) else: return render_to_response('contact/contact_form.html', {'form': form}, context_instance=RequestContext(request))