43 lines
2.1 KiB
Python
43 lines
2.1 KiB
Python
from django.shortcuts import render
|
|
from django.http import HttpResponse
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from datetime import date, datetime
|
|
|
|
from .models import User
|
|
|
|
|
|
@csrf_exempt
|
|
def register(request):
|
|
if date.today() >= date(2024, 5, 4):
|
|
return HttpResponse('{"reason":"Too late!"}', status=400, content_type='application/json')
|
|
if not request.POST.get('agreement'):
|
|
return HttpResponse('{"reason":"Je potřeba souhlasit se zpracováním údajů!"}', status=400, content_type='application/json')
|
|
if not request.POST['first_name']:
|
|
return HttpResponse('{"reason":"Jméno je povinné!"}', status=400, content_type='application/json')
|
|
if not request.POST['last_name']:
|
|
return HttpResponse('{"reason":"Přijmení je povinné!"}', status=400, content_type='application/json')
|
|
if not request.POST['email']:
|
|
return HttpResponse('{"reason":"Email je povinný!"}', status=400, content_type='application/json')
|
|
if not request.POST['address']:
|
|
return HttpResponse('{"reason":"Adresa je povinná!"}', status=400, content_type='application/json')
|
|
if User.objects.filter(email=request.POST['email']):
|
|
return HttpResponse('{"reason":"Email je již registrován!"}', status=400, content_type='application/json')
|
|
try:
|
|
dat = datetime.strptime(request.POST['date_of_birth'], "%Y-%m-%d").date()
|
|
if dat > date(2006, 5, 4):
|
|
return HttpResponse('{"reason":"Je potřeba mít 18 let v den závodu!"}', status=400, content_type='application/json')
|
|
elif dat < date(1924, 5, 4):
|
|
return HttpResponse('{"reason":"Opravdu vám je 100 let?"}', status=400, content_type='application/json')
|
|
except:
|
|
return HttpResponse('{"reason":"Špatný formát datu narození!"}', status=400, content_type='application/json')
|
|
|
|
user = User(
|
|
first_name=request.POST['first_name'],
|
|
last_name=request.POST['last_name'],
|
|
email=request.POST['email'],
|
|
date_of_birth=dat,
|
|
address=request.POST['address'],
|
|
)
|
|
user.save()
|
|
return HttpResponse('{"success":"Úspěšná registrace."}', content_type='application/json')
|