diff --git a/hotel/db.sqlite3 b/hotel/db.sqlite3 index dd3d9e0..63bb8da 100644 Binary files a/hotel/db.sqlite3 and b/hotel/db.sqlite3 differ diff --git a/hotel/manage.py b/hotel/manage.py old mode 100644 new mode 100755 diff --git a/hotel/rooms/__pycache__/admin.cpython-35.pyc b/hotel/rooms/__pycache__/admin.cpython-35.pyc index 4ef910c..63c1f2c 100644 Binary files a/hotel/rooms/__pycache__/admin.cpython-35.pyc and b/hotel/rooms/__pycache__/admin.cpython-35.pyc differ diff --git a/hotel/rooms/__pycache__/forms.cpython-35.pyc b/hotel/rooms/__pycache__/forms.cpython-35.pyc index a66465b..7777d7d 100644 Binary files a/hotel/rooms/__pycache__/forms.cpython-35.pyc and b/hotel/rooms/__pycache__/forms.cpython-35.pyc differ diff --git a/hotel/rooms/__pycache__/models.cpython-35.pyc b/hotel/rooms/__pycache__/models.cpython-35.pyc index 32e0797..91a01dc 100644 Binary files a/hotel/rooms/__pycache__/models.cpython-35.pyc and b/hotel/rooms/__pycache__/models.cpython-35.pyc differ diff --git a/hotel/rooms/__pycache__/urls.cpython-35.pyc b/hotel/rooms/__pycache__/urls.cpython-35.pyc index 20fb127..728d28b 100644 Binary files a/hotel/rooms/__pycache__/urls.cpython-35.pyc and b/hotel/rooms/__pycache__/urls.cpython-35.pyc differ diff --git a/hotel/rooms/__pycache__/views.cpython-35.pyc b/hotel/rooms/__pycache__/views.cpython-35.pyc index 1c1611f..e20a576 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/admin.py b/hotel/rooms/admin.py index f03b6fa..7c355a7 100644 --- a/hotel/rooms/admin.py +++ b/hotel/rooms/admin.py @@ -3,4 +3,6 @@ from .models import * admin.site.register(Room) admin.site.register(RoomType) +admin.site.register(Reservation) +admin.site.register(Client) diff --git a/hotel/rooms/forms.py b/hotel/rooms/forms.py index 617e9e2..7c26e9b 100644 --- a/hotel/rooms/forms.py +++ b/hotel/rooms/forms.py @@ -9,13 +9,7 @@ class ClientForm(ModelForm): model = Client fields = '__all__' labels = { -<<<<<<< HEAD - 'id_number': 'Numer dowodu: ', - 'name': 'Imię: ', - 'surname': 'Nazwisko: ' -======= 'id_number': _('Numer dowodu '), 'name': _('Imię '), 'surname': _('Nazwisko ') ->>>>>>> 79787db1a58d1e3a363982eba9f484be10a87aaf } diff --git a/hotel/rooms/migrations/0006_remove_room_reserved.py b/hotel/rooms/migrations/0006_remove_room_reserved.py new file mode 100644 index 0000000..7578042 --- /dev/null +++ b/hotel/rooms/migrations/0006_remove_room_reserved.py @@ -0,0 +1,17 @@ +# Generated by Django 2.1.5 on 2019-01-22 20:01 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('rooms', '0005_client_reservation'), + ] + + operations = [ + migrations.RemoveField( + model_name='room', + name='reserved', + ), + ] diff --git a/hotel/rooms/migrations/__pycache__/0006_remove_room_reserved.cpython-35.pyc b/hotel/rooms/migrations/__pycache__/0006_remove_room_reserved.cpython-35.pyc new file mode 100644 index 0000000..bb6b318 Binary files /dev/null and b/hotel/rooms/migrations/__pycache__/0006_remove_room_reserved.cpython-35.pyc differ diff --git a/hotel/rooms/models.py b/hotel/rooms/models.py index 98e320d..7358e7a 100644 --- a/hotel/rooms/models.py +++ b/hotel/rooms/models.py @@ -24,7 +24,6 @@ class Room(models.Model): ) room_type = models.ForeignKey(RoomType, on_delete=models.CASCADE) - reserved = models.BooleanField() def __str__(self): return str(self.room_number) @@ -36,7 +35,7 @@ class Client(models.Model): surname = models.CharField(max_length=40) def __str__(self): - return self.name, self.surname + return self.name + self.surname class Reservation(models.Model): diff --git a/hotel/rooms/templates/form.html b/hotel/rooms/templates/form.html index 3d192b7..e793283 100644 --- a/hotel/rooms/templates/form.html +++ b/hotel/rooms/templates/form.html @@ -24,6 +24,9 @@ {{ error }} {% csrf_token %} {{ form.as_p }} + + + diff --git a/hotel/rooms/templates/index.html b/hotel/rooms/templates/index.html index 0d41d3f..62c3a1b 100644 --- a/hotel/rooms/templates/index.html +++ b/hotel/rooms/templates/index.html @@ -33,7 +33,7 @@ {{ room.room_type }} {{ room.price }} zł - {% if room.reserved %} +
{% csrf_token %} @@ -43,17 +43,7 @@
- {% else %} -
- {% csrf_token %} - -
- Od: - Do:
- -
-
- {% endif %} + {% endfor %} diff --git a/hotel/rooms/urls.py b/hotel/rooms/urls.py index 1c1a2fe..d0e1047 100644 --- a/hotel/rooms/urls.py +++ b/hotel/rooms/urls.py @@ -4,6 +4,5 @@ from . import views urlpatterns = [ path('', views.index, name='index'), - path('reservation', views.reservation, name='reservation'), - path('clientform', views.addclient, name='addclient') + path('reservation', views.reservation, name='reservation') ] \ No newline at end of file diff --git a/hotel/rooms/views.py b/hotel/rooms/views.py index 5ae31e7..64d606c 100644 --- a/hotel/rooms/views.py +++ b/hotel/rooms/views.py @@ -17,31 +17,40 @@ def index(request): def reservation(request): - room = get_object_or_404(Room, room_number=request.POST['room']) + room_number, begin_date, end_date = request.POST['room'], request.POST['begindate'], request.POST['enddate'] template = loader.get_template('reservation.html') - if not room.reserved: - room.reserved = True - room.save() - status = "Pokój " + str(room) + " zarezerwowany pomyślnie" - else: - status = "Pokój " + str(room) + " jest już zarezerwowany" - - return HttpResponse(template.render({'status': status}, request)) - - -def addclient(request): error = "" - if request.method == "POST": - client = ClientForm(request.POST) - if client.is_valid(): - if check(client.cleaned_data["id_number"]): - client.save() - return HttpResponse() + reservation = Reservation.objects.filter(room_number=request.POST['room'], begin_date__gte=begin_date, end_date__lte=end_date) + + if reservation is not None: + 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) + + 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() + + status = "Pokój " + str(room_number) + " został pomyślnie zarejestrowany" + return HttpResponse(template.render({'status': status}, request)) + error = "Numer dowodu nieprawidłowy" - form = ClientForm() - template = loader.get_template('form.html') - return HttpResponse(template.render({'form': form, 'error': error}, request)) + 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)) def check(numer):