Private
Public Access
1
0

new form with recaptcha

This commit is contained in:
2024-05-22 20:47:20 +02:00
parent fe620031dc
commit ce978bfe8e
5 changed files with 25 additions and 88 deletions

View File

@@ -1271,23 +1271,10 @@ def add_defaultfavorites(r):
# Shows email form and sends it if submitted
def sendmail(request):
form = EmailForm()
if request.method == 'POST':
# test recaptcha
response_string = request.POST.get('g-recaptcha-response')
# replace below with settings
recaptcha_secret = RECAPTCHA_SITE_SECRET
url = 'https://www.google.com/recaptcha/api/siteverify'
data = {
'secret': recaptcha_secret,
'response': response_string,
}
response = requests.post(url, data=data, verify=True)
success = False
if response.status_code == 200:
success = response.json().get('success')
form = EmailForm(request.POST)
if form.is_valid() and success: # pragma: no cover
if form.is_valid(): # pragma: no cover
firstname = form.cleaned_data['firstname']
lastname = form.cleaned_data['lastname']
email = form.cleaned_data['email']
@@ -1313,15 +1300,12 @@ def sendmail(request):
messages.error(
request, "Something went wrong trying to send the form")
return HttpResponseRedirect('/rowers/email/thankyou/')
else:
if not success:
messages.error(request, 'Bots are not welcome')
else: # pragma: no cover
messages.error(
request, 'Something went wrong. Please try again')
return HttpResponseRedirect('/rowers/email/')
else:
return HttpResponseRedirect('/rowers/email/')
return render(request,'email.html',
{
'form': form
})
def keyvalue_get_default(key, options, def_options): # pragma: no cover