new email text
This commit is contained in:
parent
b0ecfc00bb
commit
6521cbd658
@ -71,6 +71,7 @@ TEMPLATES = [
|
||||
|
||||
WSGI_APPLICATION = 'alkator.wsgi.application'
|
||||
|
||||
SESSION_COOKIE_SECURE = True
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
|
||||
|
@ -3,7 +3,7 @@ from django.http import HttpResponse
|
||||
from django.template.response import TemplateResponse
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
from django.contrib.admin.views.decorators import staff_member_required
|
||||
from django.core.mail import send_mail
|
||||
from django.core.mail import send_mail, mail_admins
|
||||
from datetime import date, datetime, timedelta
|
||||
from urllib.parse import parse_qs
|
||||
import requests
|
||||
@ -36,6 +36,8 @@ def register(request):
|
||||
return HttpResponse('{"reason":"Telefoní číslo je povinný!"}', status=400, content_type='application/json')
|
||||
if User.objects.filter(email=request.POST['email'], alkator_class=ALKATOR_CLASS):
|
||||
return HttpResponse('{"reason":"Email je již registrován!"}', status=400, content_type='application/json')
|
||||
if User.objects.filter(alkator_class=ALKATOR_CLASS, paid=True).count() >= 50:
|
||||
return HttpResponse('{"reason":"Kapacita závodu byla naplněna!"}', status=400, content_type='application/json')
|
||||
try:
|
||||
dat = datetime.strptime(request.POST['date_of_birth'], "%Y-%m-%d").date()
|
||||
if dat > date(2006, 10, 5):
|
||||
@ -65,7 +67,7 @@ def register(request):
|
||||
address=request.POST['address'],
|
||||
phone=request.POST['phone'],
|
||||
alkator_class=ALKATOR_CLASS,
|
||||
invoice_id=invoice_id
|
||||
invoice_id=invoice_id,
|
||||
)
|
||||
user.save()
|
||||
|
||||
@ -76,8 +78,8 @@ def register(request):
|
||||
'curr': 'CZK',
|
||||
'method': 'ALL',
|
||||
'label': 'Startovné',
|
||||
'email': request.POST['email'],
|
||||
'fullName': f"{request.POST['first_name']} {request.POST['last_name']}",
|
||||
'email': user.email,
|
||||
'fullName': f"{user.first_name} {user.last_name}",
|
||||
'refId': f'{user.invoice_id}',
|
||||
'secret': COMGATE_SECRET,
|
||||
'prepareOnly': 'true',
|
||||
@ -105,18 +107,41 @@ def payment_result(request):
|
||||
test = result['test'][0] != 'false'
|
||||
if not secret_match or test != COMGATE_TEST:
|
||||
return HttpResponse(status=400)
|
||||
try:
|
||||
user = User.objects.get(invoice_id=ref_id)
|
||||
except User.DoesNotExist:
|
||||
mail_admins('Chyba s platbou!', f'invoice_id={ref_id}&paid={paid}')
|
||||
if paid == 'PAID':
|
||||
user.paid = True
|
||||
user.save()
|
||||
send_mail(
|
||||
"úspěšná registrace do závodu Alkátor race Studené",
|
||||
f"body",
|
||||
f"""Zdravím tě Alkátore,
|
||||
toto je potvrzovací email o tvé účasti v nezapomenutelném závodě Alkátor-race.
|
||||
Prosíme kontrolujete si své hromadné schránky a spamy.
|
||||
|
||||
Závod se koná 5.10.2024 na Studeném v Orlických horách, hned u Podskaláku.
|
||||
Zajištěno je stanování, občerstvení a také večerní after párty.
|
||||
|
||||
Připrav na zkoušku své tělo, játra a tvé mozkové buňky.
|
||||
Budou tě čekat nevídané překážky.
|
||||
|
||||
O podrobnostech tě budeme informovat emailem.
|
||||
Nezapomeň nás sledovat na Facebooku, Instagramu, YouTube a TikToku.
|
||||
|
||||
Na tento email není třeba odpovídat, prootže je generován automaticky s přijatou platbou. V případě potřeby psát na info@alkator.cz .
|
||||
|
||||
ALKÁTOR TEAM
|
||||
email: info@alkator.cz
|
||||
tel: + 420 728 018 088
|
||||
web: alkator.cz""",
|
||||
"info@alkator.cz",
|
||||
[user.email],
|
||||
)
|
||||
elif paid == 'CANCELLED' and not user.paid:
|
||||
user.delete()
|
||||
#effectively disabling email adress as email address cannot contain ' '
|
||||
user.email = '<!> '+user.email
|
||||
user.save()
|
||||
return HttpResponse(status=200)
|
||||
|
||||
|
||||
@ -128,7 +153,7 @@ def payment_state(request):
|
||||
else:
|
||||
return HttpResponse('{"status":"failed", "reason":"Zatím nemáme informace o provedené platbě. Zkuste reload nebo zkontrolujte email."}', content_type='application/json')
|
||||
except User.DoesNotExist as e:
|
||||
return HttpResponse('{"status":"failed", "reason":"Uživatel neexistuje, prosím registraci opakujte."}', content_type='application/json')
|
||||
return HttpResponse('{"status":"failed", "reason":"Uživatel neexistuje, registraci prosím opakujte."}', content_type='application/json')
|
||||
|
||||
|
||||
def results(request):
|
||||
|
@ -4,6 +4,8 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Alkátor Race</title>
|
||||
<meta name="description" content="Jedná se o překážkový závod u nás v Orlických horách s pivem a panáky." />
|
||||
<meta name="author" content="Martin Quarda" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
@ -312,7 +312,7 @@ class Main extends Component {
|
||||
</div>
|
||||
<div class="mb-3 form-check">
|
||||
<input type="checkbox" class="form-check-input" id="agreement" name="agreement" />
|
||||
<label class="form-check-label" for="agreement">Souhlas se <a href="/public/ochrana_osobnich_udaju.pdf">zpracováním osobních údajů</a> a <a href="/public/reverz.pdf">podmínkami závodu</a>.</label>
|
||||
<label class="form-check-label" for="agreement">Souhlas se <a href="/public/ochrana_osobnich_udaju.pdf">zpracováním osobních údajů</a>, <a href="/public/reverz.pdf">podmínkami závodu</a> a <a href="/public/obchodni_podminky_alkator.pdf">obchodníma podmínkami závodu</a>.</label>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Odeslat a zaplatit</button>
|
||||
</form>
|
||||
|
Loading…
x
Reference in New Issue
Block a user