def test_contact_form_not_valid(self): data = { 'first_name': '', 'last_name': 'User', 'email_address': '*****@*****.**', 'subject': 'General Enquiry', 'message': 'message' } form = ContactForm(data) self.assertFalse(form.is_valid()) self.assertEqual( form.errors, {'first_name': ['This field is required.']} ) data['first_name'] = 'Test' data['email_address'] = 'test.test.com' form = ContactForm(data) self.assertFalse(form.is_valid()) self.assertEqual( form.errors, {'email_address': ['Enter a valid email address.']} )
def web_contact(request): if request.method == 'GET': form = ContactForm() else: form = ContactForm(request.POST) if form.is_valid(): person_name = form.cleaned_data['name'] subject = form.cleaned_data['subject'] user_email = form.cleaned_data['email'] message = form.cleaned_data['message'] message_send = "\n Name : " + person_name + "\n Message : " + message + "\n User Email : " + user_email #messages.info(request,message_send) #from_email=conf_set.EMAIL_HOST_USER try: #send_mail(subject,message_send,from_email, ['*****@*****.**']) print(message_send) #messages.info(request,'Hello send') except BadHeaderError: return HttpResponse('Invalid header found.') #messages.info(request,'Hello') #return redirect('contact') context = { 'form': form, 'contact_page': 'active', } return render(request, "websiteviews/contact.html", context)
def contact_us(request): user = None if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): ContactMessages(processed=False, name=form.cleaned_data['name'], email=form.cleaned_data['email'], message=form.cleaned_data['message'] ).save() request.session['alerts'] = ['Contact message has been successfully sent'] return redirect('home') else: form = ContactForm() return render_to_response( 'contact_us.html', { 'form': form, 'months': range(1, 12), 'years': range(2011, 2036), }, context_instance=RequestContext(request) )
def contact(request): # If the user is submitting the form if request.method == "POST": # Get the instance of the form filled with the submitted data form = ContactForm(request.POST) # Django will check the form's validity for you if form.is_valid(): user = form.save() text_content = 'Thank you, {}, for requesting a free consultation'.format( user.first_name) html_content = '<h2>{}, thanks for requesting a free consultation!</h2> ' \ '<div>One of our attorneys will connect with you shortly</div>'.format(user.first_name) msg = EmailMultiAlternatives( "{}'s Request with South Natick Law".format(user.first_name), text_content, settings.DEFAULT_FROM_EMAIL, [user.email]) msg.attach_alternative(html_content, "text/html") msg.send() request.session['contact_info'] = request.POST # After saving, redirect the user to the confirmation page return redirect("thanks") # Else if the user is looking at the form page else: form = ContactForm() contacts = Contact.objects.all() data = {'form': form, 'contacts': contacts} return render(request, "contact.html", data)
def contact_view(request): context = {} form = ContactForm() context['form'] = form if request.method == 'POST': form = ContactForm(request.POST or None) context['form'] = form if form.is_valid(): name = form.cleaned_data['name'] phone = form.cleaned_data['phone'] email = form.cleaned_data['email'] message = form.cleaned_data['message'] send_mail(' WEBSITE MESSAGE FROM %s' % name, 'Message from %s, %s, %s' % (name, email, phone) + '\n\n' + message, email, [settings.EMAIL_HOST_USER], fail_silently=False ) messages.success(request, 'Message has been sent!') return HttpResponseRedirect('/message') else: context['message'] = form.errors elif request.method == 'GET': form = ContactForm() context['form'] = form return render_to_response('contact_view.html', context, context_instance=RequestContext(request))
def submit(request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): message=str(form.cleaned_data['message'])+"\n"+str(form.cleaned_data['email']) send_mail('Somebody filled out our contact form', message, '*****@*****.**', ['*****@*****.**'], fail_silently=True) print message context = Context({'title': 'Contact Us', 'form': form}) return render_to_response('sendMessage.html', context, context_instance=RequestContext(request))
def post(self, *args, **kwargs): c = self.get_context_data(**kwargs) form = ContactForm(self.request.POST) if form.is_valid(): next = self.page.contents.get_next_url() form.save(self.page.contents.get_recipients()) return http.HttpResponseRedirect(next) c['form'] = form return self.render_to_response(c)
def test_contact_form_valid(self): data = { 'first_name': 'Test', 'last_name': 'User', 'email_address': '*****@*****.**', 'subject': 'General Enquiry', 'message': 'message' } form = ContactForm(data) self.assertTrue(form.is_valid())
def test_contact_form_valid(self): data = { 'first_name': 'Test', 'last_name': 'User', 'email_address': '*****@*****.**', 'subject': 'General Enquiry', 'message': 'message', 'data_privacy_accepted': True } form = ContactForm(data) self.assertTrue(form.is_valid())
def test_contact_form_not_valid(self): data = { 'first_name': '', 'last_name': 'User', 'email_address': '*****@*****.**', 'subject': 'General Enquiry', 'message': 'message', 'data_privacy_accepted': True } form = ContactForm(data) self.assertFalse(form.is_valid()) self.assertEqual(form.errors, {'first_name': ['This field is required.']}) data['first_name'] = 'Test' data['email_address'] = 'test.test.com' form = ContactForm(data) self.assertFalse(form.is_valid()) self.assertEqual(form.errors, {'email_address': ['Enter a valid email address.']})
def process_contact_form(request): form = ContactForm(request.POST) if form.is_valid(): subject = form.cleaned_data['subject'] email_address = form.cleaned_data['email_address'] first_name = form.cleaned_data['first_name'] last_name = form.cleaned_data['last_name'] cc = form.cleaned_data['cc'] message = form.cleaned_data['message'] ctx = { 'host': 'http://{}'.format(request.META.get('HTTP_HOST')), 'first_name': first_name, 'last_name': last_name, 'email_address': email_address, 'message': message, } msg = EmailMultiAlternatives( 'Website Enquiry: {}'.format(subject), get_template('website/contact_form_email.txt').render(ctx), settings.DEFAULT_FROM_EMAIL, to=[settings.DEFAULT_TO_EMAIL], cc=[email_address] if cc else [], reply_to=[email_address]) msg.attach_alternative( get_template('website/contact_form_email.html').render(ctx), "text/html") msg.send(fail_silently=False) messages.info( request, "Thank you for your enquiry! Your email has been sent and " "we'll get back to you as soon as possible.") request.session['first_name'] = first_name request.session['last_name'] = last_name request.session['email_address'] = email_address # required field, so must be True if form valid request.session['data_privacy_accepted'] = True return HttpResponseRedirect(reverse('website:contact')) else: messages.error(request, "Please correct the errors below") return TemplateResponse(request, 'website/contact.html', {'form': form})
def contact(request): if request.method == 'GET': form = ContactForm() else: form = ContactForm(request.POST) if form.is_valid(): subject = form.cleaned_data['subject'] from_email = form.cleaned_data['email'] message = form.cleaned_data['message'] name = form.cleaned_data['name'] to_email = ADMIN_EMAIL content = name + ":\n" + message send_email_to_user(subject, from_email, to_email, content) return redirect('home') return render(request, "website/contact.html", {'form': form})
def contact(request): """A view that sends a message to the contact of the website""" if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] message = form.cleaned_data['message'] email_user = form.cleaned_data['email'] send_mail('Problème avec le site', f'{name}\n{email_user}\n{message}', email_user, ['*****@*****.**']) return redirect('home') else: form = ContactForm() return render(request, 'contact.html', {'form': form})
def submit(request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): message = str(form.cleaned_data['message']) + "\n" + str( form.cleaned_data['email']) send_mail('Somebody filled out our contact form', message, '*****@*****.**', ['*****@*****.**'], fail_silently=True) print message context = Context({'title': 'Contact Us', 'form': form}) return render_to_response('sendMessage.html', context, context_instance=RequestContext(request))
def post(self, request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): print(form['name']) form.save() email = form.cleaned_data['email'] subject = form.cleaned_data['subject'] comment = form.cleaned_data['comment'] recipients = ['*****@*****.**'] send_mail(subject, comment, email, recipients) return HttpResponse('thank you!!!') else: form = ContactForm() return render(request, 'contact.html', {'form': form}) return render(request, 'contact.html', {'form': form})
def email(request): if request.method == 'GET': form = ContactForm() else: form = ContactForm(request.POST) if form.is_valid(): subject = form.cleaned_data['subject'] from_email = form.cleaned_data['from_email'] message = form.cleaned_data['message'] send_mail(subject, message, from_email, ['*****@*****.**']) #try: #send_mail(subject, message, from_email, ['*****@*****.**']) #send_mail(subject, from_email, from_email, ['*****@*****.**']) #except BadHeaderError: #return HttpResponse('Invalid header found.') return redirect('thanks') return render(request, "website/email.html/", {'form': form})
def contato(request): "Contato without login" form = ContactForm(request.POST or None) if request.method == "POST": if form.is_valid(): try: form.save() except ValueError, e: return HttpResponse(json.dumps({"status": True, "msg": "Erro no envio do e-mail"})) # reset form form = ContactForm() sent = u"Sua mensagem foi enviada com sucesso" sent += u"<br/> Responderemos o mais rápido possível" sent += u"<br/> Obrigado pelo contato" return HttpResponse(json.dumps({"status": True, "msg": sent})) else: errors = form.errors print errors return HttpResponse(json.dumps({"status": False, "errors": errors}))
def contactView(request): form = None sent = False if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): honeypot = form.cleaned_data['honeypot'] if not honeypot: subject = "[Roazhon Sorcers website] " + form.cleaned_data[ 'subject'] email_from = form.cleaned_data['email_from'] message = form.cleaned_data['message'] cc_myself = form.cleaned_data['cc_myself'] email_to = [ User.objects.get(username="******").email, ] if cc_myself: email_to.append(email_from) send_mail(subject, message, email_from, email_to, fail_silently=False) form = ContactForm() sent = True else: form = ContactForm() return render(request, "website/contact.html", { "form": form, "sent": sent, }, content_type='text/html')
def contactus(request): if request.method == 'GET': form = ContactForm() return render(request, "contactus.html", { 'form': form, }) elif (request.method == 'POST'): form = ContactForm(data=request.POST) display_message = None if form.is_valid(): form_name = form.cleaned_data['contact_name'] form_email = form.cleaned_data['contact_email'] message = form.cleaned_data['content'] try: send_mail(form_name, form_email, message, ['*****@*****.**']) display_message = "Email has been sent" except BadHeaderError: display_message = "Invalid Header in Request." else: display_message = str(form.errors) return HttpResponse(display_message)
def contact(request): if request.method == "POST": form = ContactForm(data=request.POST) if form.is_valid(): name = request.POST.get("name") user_subject = request.POST.get("subject") subject = "{} (from {})".format(user_subject,name) content = request.POST.get("content") from_email = request.POST.get("email") send_mail(subject, content, from_email, ["*****@*****.**"], fail_silently=False) messages.add_message( request,messages.SUCCESS,'הודעתך נשלחה בהצלחה') return redirect('contact') else: form = ContactForm() context_dict = { "form": form, } return render(request, 'contact.html', context_dict)
def send_mail(request): event = get_request_event_or_404(request) if request.POST: contact_form = ContactForm(request.POST) if contact_form.is_valid(): message = contact_form.cleaned_data['message'] name = contact_form.cleaned_data['name'] email = contact_form.cleaned_data['email'] subject = _('%(slug)s - %(name)s <%(email)s> has sent a message') % {'slug': event.slug, 'name': name, 'email': email} # from_email = event.slug.upper() + ' <no-reply@' + event.domain.lower().replace("http://", "") + '>' if event.logo: logo_url = event.domain + event.logo.url else: logo_url = 'http://' + get_current_site(request).domain + '/static/website/img/eventus.png' context = Context( {'event_slug': event.slug, 'name': name, 'email': email, 'logo': logo_url, 'message': message}) text_content = get_template('website/email/contact.txt').render(context) html_content = get_template('website/email/contact.html').render(context) if event.main_email: send_to = [event.main_email, ] # # msg = EmailMultiAlternatives(subject=subject, body=text_content, to=send_to, # from_email=from_email) # msg.attach_alternative(html_content, "text/html") # msg.send() sg = sendgrid.SendGridClient(EMAIL_HOST_USER, password=EMAIL_HOST_PASSWORD) message = sendgrid.Mail(to=send_to, subject=subject, html=html_content, text=text_content, from_email=event.no_reply_email(), ) status, msg = sg.send(message) return HttpResponse(1)
def contact_form(request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): send_mail( subject='Contact Page message', message=form.cleaned_data['comments'], from_email=form.cleaned_data['email'], recipient_list=[ '*****@*****.**', '*****@*****.**', '*****@*****.**' ] ) messages.success(request, "Thank you for your email.") return redirect('home:index') else: messages.error(request, "Invalid form data. Did you complete the captcha?") else: form = ContactForm() context = { 'form': form } return render(request, 'website/special/contact.html', context)
def contact(request): pageId=9; #Params for the calendar lastDateDjanEGlyamo=datetime.today(); lastDateMartna=datetime.today(); try: lockParamsDjanEGlyamo=CalendarLockParams.objects.get(appartId=1)#get return an object lastDateDjanEGlyamo=lockParamsDjanEGlyamo.lastDate; lockParamsMartna=CalendarLockParams.objects.get(appartId=3)#get return an object lastDateMartna=lockParamsMartna.lastDate; except Exception: lastDateDjanEGlyamo=datetime.today(); lockedDatesDjanEGlyamo=LockedDate.objects.filter(appartId=1); lockedDatesMartna=LockedDate.objects.filter(appartId=3); success=False;# to inform the template #the following has to be improved using a context-template #TODO last articles articleCounter, created = ArticleCounter.objects.get_or_create(pageId=pageId,defaults={'counter': 3}) sections=Section.objects.filter(pageId=pageId).order_by('position'); #nouvellesSection=Nouvelle.objects.filter(nouvellePageId=pageId) lastArticles=Article.objects.order_by('-date')[:articleCounter.counter]# latest Article Objects limitated to "counter" form = ContactForm(request.POST or None, request.FILES or None) if request.method == 'POST': # If the form has been submitted... if form.is_valid(): # All validation rules pass purpose=form.cleaned_data['purpose'];firstName=form.cleaned_data['firstName'];lastName=form.cleaned_data['lastName']; startDate=form.cleaned_data['startDate'];endDate=form.cleaned_data['endDate'];subject=form.cleaned_data['subject']; message=form.cleaned_data['message'];sender=form.cleaned_data['sender'];cc_myself=form.cleaned_data['cc_myself']; appartementSelection=form.cleaned_data['appartementSelection']; appartString=""; # print "purpose" print purpose; if appartementSelection == '1': #print "\n you chose DjanEGlyamo\n "; appartString="Djan é Glyâmo"; if appartementSelection == '3': appartString="Martnà"; note=" via www.chalet-djan-e-glyamo.eu] "; subject=note+subject; messageType=""; m1="";nameGiven=""; m1+="\n******************** Contact ********************\n"+sender; if translation.get_language() == 'fr': if purpose=='1': m1+="\n\n************** Dates sélectionnées **************\n"; messageType="[Demande de résevation"; if (startDate and endDate): locale.setlocale(locale.LC_ALL, b"fr_FR.UTF-8"); #m1+="from : "+startDate.strftime("%d (%A)/%m (%B)/%Y")+"\n"; #m1+="to : "+endDate.strftime("%d (%A)/%m (%B)/%Y")+"\n"; m1+="début : "+smart_text(startDate.strftime("%A %d %B %Y"), encoding='utf-8',)+"\n"; m1+="fin : "+smart_text(endDate.strftime("%A %d %B %Y"), encoding='utf-8',)+"\n"; else: m1+="Pas de dates sélectionnées \n" m1+="\n************ Appartement sélectionné *************\n"+"Appartement "+appartString; m1+="\n\n******************** Message ********************\n"; else: messageType="[Poème"; m1+="\n******************** Message ********************\n" if (firstName or lastName): nameGiven=" de "+firstName+" "+lastName; else: #language='en' if purpose=='1': messageType="[Booking request"; m1+="\n\n**************** Selected dates *****************\n" if (startDate and endDate): locale.setlocale(locale.LC_ALL, b"en_US.UTF-8"); m1+="from : "+startDate.strftime("%d (%A)/%m (%B)/%Y")+"\n"; m1+="to : "+endDate.strftime("%d (%A)/%m (%B)/%Y")+"\n"; else: m1+="You didn't choose any dates \n" m1+="\n************** Apartment selected ***************\n"+"Apartment "+appartString+' \n'; m1+="\n\n******************** Message ********************\n" else: messageType="[Poem"; m1+="\n******************** Message ********************\n" if (firstName or lastName): nameGiven=" from "+firstName+" "+lastName; message=m1+message; subject=messageType+nameGiven+subject; success=True; #print subject; #print message; recipients = settings.EMAIL_RECIPIENTS; from_adress=settings.FROM_ADRESS; send_mail(subject=subject, message=message, from_email=from_adress, recipient_list=recipients,fail_silently=True); # if the user requested a copy of the e-mail, we send it to him (alone) if cc_myself: recipients=[]; recipients.append(sender); send_mail(subject=subject, message=message, from_email=from_adress, recipient_list=recipients,fail_silently=True); #return HttpResponseRedirect('website.views.home') return render(request, 'website/contact.html',locals())
def process_contact_form(request): form = ContactForm(request.POST) if form.is_valid(): subject = form.cleaned_data['subject'] other_subject = form.cleaned_data.get('other_subject') email_address = form.cleaned_data['email_address'] first_name = form.cleaned_data['first_name'] last_name = form.cleaned_data['last_name'] cc = form.cleaned_data['cc'] message = form.cleaned_data['message'] if other_subject: subject = "{}: {}".format(subject, other_subject) ctx = { 'host': 'http://{}'.format(request.META.get('HTTP_HOST')), 'first_name': first_name, 'last_name': last_name, 'email_address': email_address, 'message': message, } try: msg = EmailMultiAlternatives( '{} {}'.format(settings.ACCOUNT_EMAIL_SUBJECT_PREFIX, subject), get_template( 'website/contact_form_email.txt' ).render(ctx), settings.DEFAULT_FROM_EMAIL, to=[settings.DEFAULT_STUDIO_EMAIL], cc=[email_address] if cc else [], reply_to=[email_address] ) msg.attach_alternative( get_template( 'website/contact_form_email.html' ).render(ctx), "text/html" ) msg.send(fail_silently=False) messages.info( request, "Thank you for your enquiry! Your email has been sent and " "we'll get back to you as soon as possible." ) except Exception as e: # send mail to tech support with Exception try: send_mail('{} An error occurred! ({})'.format( settings.ACCOUNT_EMAIL_SUBJECT_PREFIX, 'contact form' ), 'An error occurred in {}\n\nThe exception ' 'raised was "{}"\n\n' 'first_name: {}\n' 'last_name: {}\n' 'email: {}\n' 'message: {}'.format( __name__, repr(e), first_name, last_name, email_address, message ), settings.DEFAULT_FROM_EMAIL, [settings.SUPPORT_EMAIL], fail_silently=True) messages.error(request, "A problem occurred while submitting " "the form. Tech support has been notified.") except Exception as e: messages.error( request, mark_safe( "A problem occurred while submitting the form, " "please contact the studio on " "<a href='mailto:{}' target=_blank>{}</a> for " "information".format( settings.DEFAULT_STUDIO_EMAIL, settings.DEFAULT_STUDIO_EMAIL ) ) ) pass request.session['first_name'] = first_name request.session['last_name'] = last_name request.session['email_address'] = email_address return_url = request.session.get( 'return_url', reverse('website:contact') ) return HttpResponseRedirect(return_url) else: messages.error( request, "Please correct the errors below" ) return TemplateResponse( request, 'website/contact.html', {'section': 'contact', 'form': form} )
def process_contact_form(request): form = ContactForm(request.POST) if form.is_valid(): subject = form.cleaned_data['subject'] other_subject = form.cleaned_data.get('other_subject') email_address = form.cleaned_data['email_address'] first_name = form.cleaned_data['first_name'] last_name = form.cleaned_data['last_name'] cc = form.cleaned_data['cc'] message = form.cleaned_data['message'] if other_subject: subject = "{}: {}".format(subject, other_subject) ctx = { 'host': 'http://{}'.format(request.META.get('HTTP_HOST')), 'first_name': first_name, 'last_name': last_name, 'email_address': email_address, 'message': message, } try: msg = EmailMultiAlternatives( '{} {}'.format(settings.ACCOUNT_EMAIL_SUBJECT_PREFIX, subject), get_template( 'website/contact_form_email.txt' ).render(ctx), settings.DEFAULT_FROM_EMAIL, to=[settings.DEFAULT_STUDIO_EMAIL], cc=[email_address] if cc else [], reply_to=[email_address] ) msg.attach_alternative( get_template( 'website/contact_form_email.html' ).render(ctx), "text/html" ) msg.send(fail_silently=False) messages.info( request, "Thank you for your enquiry! Your email has been sent and " "we'll get back to you as soon as possible." ) except Exception as e: # send mail to tech support with Exception try: send_mail('{} An error occurred! ({})'.format( settings.ACCOUNT_EMAIL_SUBJECT_PREFIX, 'contact form' ), 'An error occurred in {}\n\nThe exception ' 'raised was "{}"\n\n' 'first_name: {}\n' 'last_name: {}\n' 'email: {}\n' 'message: {}'.format( __name__, repr(e), first_name, last_name, email_address, message ), settings.DEFAULT_FROM_EMAIL, [settings.SUPPORT_EMAIL], fail_silently=True) messages.error(request, "A problem occurred while submitting " "the form. Tech support has been notified.") except Exception as e: messages.error( request, mark_safe( "A problem occurred while submitting the form, " "please contact the studio on " "<a href='mailto:{}' target=_blank>{}</a> for " "information".format( settings.DEFAULT_STUDIO_EMAIL, settings.DEFAULT_STUDIO_EMAIL ) ) ) pass request.session['first_name'] = first_name request.session['last_name'] = last_name request.session['email_address'] = email_address # required field, so must be True if form valid request.session['data_privacy_accepted'] = True return_url = request.session.get( 'return_url', reverse('website:contact') ) return HttpResponseRedirect(return_url) else: messages.error( request, "Please correct the errors below" ) return TemplateResponse( request, 'website/contact.html', {'section': 'contact', 'form': form} )