From 2e7bf6f9f7e91e93d04b5b2f51c1c9eded008d69 Mon Sep 17 00:00:00 2001 From: Martin Quarda Date: Mon, 5 Aug 2024 15:30:31 +0200 Subject: [PATCH] fourth try --- alkatorapi/views.py | 16 ++++++++++++---- frontend/src/scripts/index.js | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/alkatorapi/views.py b/alkatorapi/views.py index 48465f2..fa243b7 100644 --- a/alkatorapi/views.py +++ b/alkatorapi/views.py @@ -2,6 +2,7 @@ from django.shortcuts import render from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt from datetime import date, datetime +from urllib.parse import parse_qs import requests import json import glob @@ -32,9 +33,9 @@ def register(request): 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): + if dat > date(2006, 10, 5): 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): + elif dat < date(1924, 10, 5): 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') @@ -64,9 +65,16 @@ def register(request): } result = requests.post('https://payments.comgate.cz/v1.0/create', data=payment_data) - raise Exception(result.text) + result = parse_qs(result.text) - return HttpResponse('{"success":"Úspěšná registrace."}', content_type='application/json') + if result['code'] != 0: + user.delete() + return HttpResponse('{"reason":"Chyba na straně platevní brány"}', status=400, content_type='application/json') + + user.trans_id = result['transId'] + user.save() + + return HttpResponse('{"success":"Úspěšná registrace.", "redirect":' + result['redirect'] + '}', content_type='application/json') def results(request): diff --git a/frontend/src/scripts/index.js b/frontend/src/scripts/index.js index 44b8d52..5fc3c06 100644 --- a/frontend/src/scripts/index.js +++ b/frontend/src/scripts/index.js @@ -62,6 +62,7 @@ class Main extends Component { text: json.success, status: "success", }) + window.location = json.redirect; } }); }