def contact_form(request): if request.method == "POST": form = ContactForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Your request submitted successfully') else: messages.error(request, 'Please fix the errors and re-submit') else: form = ContactForm() return render(request, "contact-form.html", {"form": form})
def contact(request): if request.method == 'POST': form = ContactForm(request.POST, request.FILES, request=request) if form.is_valid(): form.save() return HttpResponseRedirect('%s?success' % request.path) else: form = ContactForm(request=request) return render_to_response('contact_form/contact_form.html', { 'form': form, 'success': 'success' in request.GET, }, 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_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 faq(request): questions = Question.objects.active() form = ContactForm(request=request) # form_class = form if request.method == 'POST': form = ContactForm(data=request.POST, files=request.FILES, request=request) if form.is_valid(): form.save() messages.info(request, _("New question succesfully sent."), fail_silently=True) return HttpResponseRedirect(reverse('faq')) template = "faq.html" data = {'items': questions, 'form': form, 'section': 'faq',} return render_to_response(template, data, context_instance=RequestContext(request))
def contact(request): c = {} c.update(csrf(request)) contactFormSet = modelformset_factory(Contact) contactCategory = list(ContactCategory.objects.filter(is_active=True)[:1]) if contactCategory: contactCategory = contactCategory[0] c.update({'contactCatetory': contactCategory}) if request.method == 'POST': contact = ContactForm(request.POST) if contact.is_valid(): contact = contact.save() current_site = Site.objects.get_current() subject = Template(contactCategory.msg_subject).render(Context({'site': current_site})) # Email subject *must not* contain newlines subject = ''.join(subject.splitlines()) message = Template(contactCategory.msg_body).render(Context( {'contact': contact, 'message': contact.message, 'site': current_site})); # if contactCategory.msg_html_body: # message = Template(contactCategory.msg_html_body).render(Context( # {'contact': contact.name, # 'email': contact.email, # 'message': contact.message, # 'site': current_site })); send_html_mail(subject, message, message, settings.DEFAULT_FROM_EMAIL, [email.strip() for email in contactCategory.recipients.split(',')]) # send mail to contact person to inform them the email has been sent reply_subject = Template(contactCategory.reply_subject).render(Context({})) reply_message = Template(contactCategory.reply_body).render(Context({'contact': contact.name})) send_html_mail(reply_subject, reply_message, reply_message, settings.DEFAULT_FROM_EMAIL, [contact.email]) if request.is_ajax(): return HttpResponse(json.dumps({'success': True}), mimetype='application/json') else: return render(request, 'contact_form/message_sent.html') else: return HttpResponse(json.dumps({'success': False, 'errors': contact.errors}), mimetype='application/json') else: storage = messages.get_messages(request) storage.used = False c['contact'] = ContactForm() return render(request, "contact_form/contact.html", c)
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 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 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_no_sites(self): """ Sites integration works with or without installed contrib.sites. """ old_installed = Site._meta.installed Site._meta.installed = False request = RequestFactory().request() data = {'name': 'Test', 'email': '*****@*****.**', 'body': 'Test message'} form = ContactForm(request=request, data=data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox)) Site._meta.installed = old_installed
def test_send(self): """ Valid form can and does in fact send email. """ request = RequestFactory().request() data = {'name': 'Test', 'email': '*****@*****.**', 'body': 'Test message'} form = ContactForm(request=request, data=data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox)) message = mail.outbox[0] self.assertEqual([data['email']], message.recipients()) self.assertTrue(data['body'] in message.body) self.assertEqual(settings.DEFAULT_FROM_EMAIL, message.from_email)