From 037ab2737a8d4dcba3cd2c9aa020f39db5c21da9 Mon Sep 17 00:00:00 2001 From: Hokan Date: Tue, 22 Jan 2019 22:20:06 +0100 Subject: [PATCH] fix formularza i rezerwacji --- hotel/db.sqlite3 | Bin 59392 -> 59392 bytes hotel/rooms/__pycache__/views.cpython-35.pyc | Bin 1961 -> 2344 bytes hotel/rooms/templates/error.html | 28 +++++++++++ hotel/rooms/templates/index.html | 1 + hotel/rooms/views.py | 49 ++++++++++++------- 5 files changed, 59 insertions(+), 19 deletions(-) create mode 100644 hotel/rooms/templates/error.html diff --git a/hotel/db.sqlite3 b/hotel/db.sqlite3 index 63bb8da2fd2ce66cc91b5742a4d9876e9db1b289..52de3101754cbaa689575a34cd0cece55959a643 100644 GIT binary patch delta 492 zcmY*VO-lk%6n*cVNg30=AU8FbNs9<=-e{S%2&-REnalq%Q@z(M?epZu$<3F$@_iBC;)EgTsc4Y0o?u{>6{5#~)2 z{ZFbZ@gP?lBoE6GiA)fBOZ{X51-s+%6T;L3!3SROAWU5&>Vc0oM)0p7c}_Mv$yk`bFnql*w$1E%W*sw`& diff --git a/hotel/rooms/__pycache__/views.cpython-35.pyc b/hotel/rooms/__pycache__/views.cpython-35.pyc index e20a576f61aa589c6ccab7633901faf3a0e0bb20..10760dceefcd35876002aa05956157e03fbeda7f 100644 GIT binary patch delta 1282 zcma)6J#W)c6g}6D6UTPq^do5tEvi7RRH~MZ4GF=3#DD}vf~H7S=`-N8P0Gsysg@N%1~Y|2T;5Wa=G&HT}%|DW$R2Ba*9cQ zu1cz}R(jD|?C&kZ5L*1VkXTR!99ZZThLrX|>EKR#2}ERUm;zc3l!F6~ED9l}5)%?g zJS$gL+l0GGLHKQ1=zc@O{zEdGwt&7Ej;ob$0MQ zWbeEStqN34I@iyvy&tkKEk3sqO!YjNDiTj}=}zA=Va}{3M$s|>ABN?_h*2ayyHYQ} z-=5u{lmuvvaukSLx(JhkNBK@RJ@(J0 z)wpc*owh3@lAk_zA&jbnX{k%kd?bIiuEF)IGCc_oa(*(3x$qb=5gV~HG*1dxS(v(! z6?CVw(=6YQ9>#68VWMU!YAX@;-MQ7Jxt*msweLk*cl7cjv$LH!x%_05Xa36P=bv7x z*XUO~^-g-jR=LJrQt+=@zM_h`uJ}t_TV~~B&iwxsn_wIF;KnrA3 zou(Mi(+!%lLMqY{d5q&UZHHv1mx?oi$99Lx6p~&{?-$=r&U5Tle!7J`OK54)EL2m! kbi2-J-+dqZIRF3v delta 904 zcmah{yKWOv5IwW@KD^$wHxJvGgvL=43`#^nL5ZNCqY0IT6ouRs*hy^Z`idg#;==S% zvJEvA5fugEANYiAX(;#zX09U$qF~qe_;~I-&Wz{d@?~?Q9mnD2n|Gea0TP*uzcc@@e0`05O>92c^#$+li1#9CZSm!`%Bi!^IQ~J7?-7C zxm}T-g{%r*<@>wi=6^d@iJfh1RYb6p-+@|^K6&(ihQ(#MTdukI0|<)C^5k0=Zu?&Q zX<5~i$;qJhB7Hd=s{@k`{B*2@oF+P*ruy}P8BWH#uguADiQ?4#w&SK+PjngDkbQA2 z1CFt*-_jjk2wf3qFcfFrTB9;GTFVk@S4>~Ly;-cA@>}*xuM6A~NCegx%KEk9x-I4{ zfv((nhsVQoY)aDlrWlug!?Lh#23ghVeFjjUm)E1)PDHD;UTIQH5w(i1ekbsp8sF*d yqV&&i^w{@-L{)7Rue(_KaWM~`C3l$G^|#4&ulN~kt%}%$5^7V(Z{$WnwD}9OH=w=% diff --git a/hotel/rooms/templates/error.html b/hotel/rooms/templates/error.html new file mode 100644 index 0000000..bb57503 --- /dev/null +++ b/hotel/rooms/templates/error.html @@ -0,0 +1,28 @@ +{% load static %} + + + + + + Rezerwacja + + + +
+
+
+ {{ error }} +
+
+ +
+ + diff --git a/hotel/rooms/templates/index.html b/hotel/rooms/templates/index.html index 62c3a1b..905685c 100644 --- a/hotel/rooms/templates/index.html +++ b/hotel/rooms/templates/index.html @@ -18,6 +18,7 @@

Hotel INO Scrum

Lista pokoi dostępnych w naszym hotelu

+

{{ error }}

diff --git a/hotel/rooms/views.py b/hotel/rooms/views.py index 64d606c..c2002e4 100644 --- a/hotel/rooms/views.py +++ b/hotel/rooms/views.py @@ -4,6 +4,7 @@ from django.shortcuts import get_object_or_404, render from .models import * from .forms import * import re +import datetime # Create your views here. @@ -18,36 +19,46 @@ def index(request): def reservation(request): room_number, begin_date, end_date = request.POST['room'], request.POST['begindate'], request.POST['enddate'] + try: + begin_datetime = datetime.datetime.strptime(begin_date, "%Y-%m-%d") + end_datetime = datetime.datetime.strptime(end_date, "%Y-%m-%d") + except: + return HttpResponse(loader.get_template('error.html').render({'error': "Błąd przy datach"}, request)) + if begin_datetime == '' or end_datetime == '' or end_datetime < begin_datetime or begin_datetime < datetime.datetime.today() or end_datetime < datetime.datetime.today(): + return HttpResponse(loader.get_template('error.html').render({'error': "Błąd przy datach"}, request)) + template = loader.get_template('reservation.html') error = "" - reservation = Reservation.objects.filter(room_number=request.POST['room'], begin_date__gte=begin_date, end_date__lte=end_date) - - if reservation is not None: + reservation = Reservation.objects.filter(room_number=room_number).filter(begin_date__gte=begin_date).filter(end_date__lte=end_date) + print(reservation) + if reservation: status = "Pokój " + str(room_number) + " jest już zarezerwowany" return HttpResponse(template.render({'status': status}, request)) else: if request.method == "POST": - client_id = request.POST['id_number'] - if check(client_id): - instance = Client.objects.get(id_number=client_id) - client = ClientForm(request.POST, instance=instance) + try: + client_id = request.POST['id_number'] + if check(client_id): + instance = Client.objects.get(id_number=client_id) + client = ClientForm(request.POST, instance=instance) - if not Client.objects.get(id_number=client_id): - client.save() + if not Client.objects.get(id_number=client_id): + client.save() - r = Reservation() - r.room_number = get_object_or_404(Room, room_number=room_number) - r.client_id = get_object_or_404(Client, id_number=client_id) - r.begin_date = begin_date - r.end_date = end_date - r.save() + r = Reservation() + r.room_number = get_object_or_404(Room, room_number=room_number) + r.client_id = get_object_or_404(Client, id_number=client_id) + r.begin_date = begin_date + r.end_date = end_date + r.save() - status = "Pokój " + str(room_number) + " został pomyślnie zarejestrowany" - return HttpResponse(template.render({'status': status}, request)) - - error = "Numer dowodu nieprawidłowy" + status = "Pokój " + str(room_number) + " został pomyślnie zarejestrowany" + return HttpResponse(template.render({'status': status}, request)) + error = "Numer dowodu nieprawidłowy" + except: + pass form = ClientForm() template = loader.get_template('form.html') return HttpResponse(template.render({'form': form, 'error': error, 'room_number': room_number, 'begin_date': begin_date, 'end_date': end_date}, request))