diff --git a/hotel/db.sqlite3 b/hotel/db.sqlite3
index 63bb8da..52de310 100644
Binary files a/hotel/db.sqlite3 and b/hotel/db.sqlite3 differ
diff --git a/hotel/rooms/__pycache__/views.cpython-35.pyc b/hotel/rooms/__pycache__/views.cpython-35.pyc
index e20a576..10760dc 100644
Binary files a/hotel/rooms/__pycache__/views.cpython-35.pyc and b/hotel/rooms/__pycache__/views.cpython-35.pyc differ
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))