diff --git a/alkator/urls.py b/alkator/urls.py index 061efd9..d505967 100644 --- a/alkator/urls.py +++ b/alkator/urls.py @@ -16,7 +16,9 @@ Including another URLconf """ from django.contrib import admin from django.urls import path +from ..alkatorapi.views import register urlpatterns = [ path('admin/', admin.site.urls), + path('api/register', register), ] diff --git a/alkatorapi/models.py b/alkatorapi/models.py index 71a8362..6b1f97d 100644 --- a/alkatorapi/models.py +++ b/alkatorapi/models.py @@ -1,3 +1,10 @@ from django.db import models -# Create your models here. + +class User(models.Model): + first_name = models.CharField(max_length=120) + last_name = models.CharField(max_length=120) + email = models.EmailField(max_length=120) + register_date = models.DateTimeField(auto_now=True) + paid = models.BooleanField(default=False) + duration = models.DurationField(null=True) diff --git a/alkatorapi/views.py b/alkatorapi/views.py index 91ea44a..eb6e8f8 100644 --- a/alkatorapi/views.py +++ b/alkatorapi/views.py @@ -1,3 +1,13 @@ from django.shortcuts import render +from django.http import HttpResponse +from datetime import date -# Create your views here. +from .models import User + +def register(request): + if date.today() >= date(2024, 4, 21): + return HttpResponse("Too late!", status_code=400) + if not request.POST['agreement']: + raise HttpResponse("Je potřeba souhlasit se zpracováním údajů!", status_code=400) + user = User(first_name=request.POST['first_name'], last_name=request.POST['last_name'], email=request.POST['email']) + user.save() diff --git a/frontend/src/scripts/index.js b/frontend/src/scripts/index.js index 7d68b6b..2545128 100644 --- a/frontend/src/scripts/index.js +++ b/frontend/src/scripts/index.js @@ -14,6 +14,18 @@ class Main extends Component { this.state = { }; } + onSubmit(event){ + event.preventDefault(); + let form = document.forms[0]; + let formData = new FormData(form); + fetch("/api/register", { + method:"POST", + body: JSON.stringify(formData), + headers: { + "Content-type": "application/json; charset=UTF-8" + } + }).then(resp => resp.json()).then(json => {console.log(json)}); + } render(){ return
@@ -43,7 +55,7 @@ class Main extends Component {

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam sapien sem, ornare ac, nonummy non, lobortis a enim. Sed vel lectus. Donec odio tempus molestie, porttitor ut, iaculis quis, sem. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Aliquam erat volutpat. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Etiam neque. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Nullam rhoncus aliquam metus. In dapibus augue non sapien. Phasellus faucibus molestie nisl. Duis risus. Duis viverra diam non justo. Donec ipsum massa, ullamcorper in, auctor et, scelerisque sed, est. Mauris dictum facilisis augue. Etiam posuere lacus quis dolor. Integer lacinia. Vestibulum fermentum tortor id mi. Phasellus rhoncus.

-
+ this.onSubmit(e)}>

Registrace