From 50b7135472b1c01bf1d28e92527bf180127b94ab Mon Sep 17 00:00:00 2001 From: Hokan Date: Tue, 22 Jan 2019 21:24:46 +0100 Subject: [PATCH] podpiecie formularza do strony glownej + rezerwacje --- hotel/db.sqlite3 | Bin 58368 -> 59392 bytes hotel/manage.py | 0 hotel/rooms/__pycache__/admin.cpython-35.pyc | Bin 275 -> 332 bytes hotel/rooms/__pycache__/forms.cpython-35.pyc | Bin 777 -> 797 bytes hotel/rooms/__pycache__/models.cpython-35.pyc | Bin 1814 -> 1774 bytes hotel/rooms/__pycache__/urls.cpython-35.pyc | Bin 368 -> 317 bytes hotel/rooms/__pycache__/views.cpython-35.pyc | Bin 1727 -> 1961 bytes hotel/rooms/admin.py | 2 + hotel/rooms/forms.py | 6 --- .../migrations/0006_remove_room_reserved.py | 17 ++++++ .../0006_remove_room_reserved.cpython-35.pyc | Bin 0 -> 561 bytes hotel/rooms/models.py | 3 +- hotel/rooms/templates/form.html | 3 ++ hotel/rooms/templates/index.html | 14 +---- hotel/rooms/urls.py | 3 +- hotel/rooms/views.py | 51 ++++++++++-------- 16 files changed, 56 insertions(+), 43 deletions(-) mode change 100644 => 100755 hotel/manage.py create mode 100644 hotel/rooms/migrations/0006_remove_room_reserved.py create mode 100644 hotel/rooms/migrations/__pycache__/0006_remove_room_reserved.cpython-35.pyc diff --git a/hotel/db.sqlite3 b/hotel/db.sqlite3 index dd3d9e03f6137fd9b6de7495e5e723c227d275e9..63bb8da2fd2ce66cc91b5742a4d9876e9db1b289 100644 GIT binary patch delta 821 zcmY+CUr19?9LLW&-?MwWbGl7uvkY{kkl^%gmgXc%g?b1gq{twU;f9#Gkqe(9wI1xL zcDoN|^aoNCL?gQh1yUIF2O{#%L(&XJ5t)!yKGcIy=jtYPxxe4S_q0_-gOSCB%YHy7+or$*WAg(NwD;?2jd#tG=91C}J2G6xdBM)sno-MOB zg4gIr5Jl_@8)0qZ+HvOImun&J{k7{ks;X9sy!L2kSU-DbYqsBC=vM=(KcH5Y`Sw;< z?A~LH+&)2z#lh_uBUr;P{KPjb;uAjL9cD!R=Xi?8Ffe8~c`x+Q0kz5kN}0@|P{~vl zQ*l$lR18p*Oi_}P6@q3q!Ojb~OFwGb6{)IDavv_%9ozHt&xw2&yH4#Q^1sgrynjLU zrJ?&q^YAT)?H^x>;VfK%cGPlh7a!o04jacP!7}DCg;8<5o5;=KydWp1wyxgi7u{7J z3$`6;4eL{H>qYFW8T%WvNQ&5J(35lAx*5sEvPhyx5F~_q230$$L_D4X#jpCRy{b?A z8{`+XnU=|7qR$#a-%t;!K_^LST8Xu%`Jn9fc<3dkeqeAL4d_>g^Yp%iL%%rKPfLu& z`3B0xdx56?L63Y$U%1z6wTeb5RtZ+c_Fv()p+MQ(X2ZEAZfJc3UJ;v~vK?JSboE_a zT2f468ZYq#6Bxw+Za~9jbcuQ=(IwkCVbrn!Im-n80CHv;Y$k{Ta>hC|FxhGXTV}G7 ehAnB3Qy@tK6dIQ-Da%t9Da%q;^vV=Q<9`9Le8MLH delta 660 zcmYL`O=uHA6vt=gKgsSUsZD64hX&k)C@Ap*giyWIpdN%$p(y4S(q<`2nuSD!9@LZ` zdJ-~S(dM8au@U13P1k~lq69>X9;_5fN_(h+8bvC2(SxA7+f)bU@#Dvv$9r#zODHa) z)DzGNAxEsceUc(}*rk&Lq1k$-0GcqHh;hFgNrnY1;|gYQ6Un+b0VC-RGJG*|-b_z0 z2<)es3+dd5o=Rs%&*xHEeI#TR?G}lysVJ{-U&-%gHG(%NBaJBg%xZOUgPFD4=jd*% zlTK6_e&Ywe;U_-fJ*rs25?bAoc!V%0C z98i=F8Yi5@35H3Wt5*@$XCv}IzbmHX2^iWpI>-uORWyk+?&MS8duPobZ z9hZ(7V{4P<@V#69Jso&%jjAzh;v?3qQQu(^8s_l;cdX4`!vw~l*F_($%94vPs<2Ha zcRJ)+hrGikna@J*_(wj6(1PrB@-WC`kK^pOisNjOx5;Wsu{$G@+fs@`OOmS%M1oB+ zErp20+9+Ae-AdzaGq=F~9-u+2Ihtr#Ut_{(ygjY}8@BreBhcJus{B5Tjpb;CN4bxa d7QrialwKz-A)01*bh@4lqeV^Z~x^cQf2pzHtu 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 4ef910c7fb72bf3debe61383590240d1c232984c..63c1f2c7d1c2934da9f56d75655c226037d8a51e 100644 GIT binary patch delta 128 zcmbQtbcRV;jF*?|X@z^tItB)Y$3P4ROhA?c5EsWyRJN5)Wn{==X2@b;NM&beW@KPQ z@Hr+%t1@y>k!G2cC=dLbvHA3FmBg98v3y8($*28Jj`h7=&l#E{C&5XHif!pIQC z%8&x&vN5DEGc*HbS-@;oFq;j`W(Tn|f$G^OyE5vU@%okKrWPrr>lfHN!oobRj3B4I2Xkg98v3n*fPa28Jj`h7=&l#E{C&5XHif!pIQC z%8Iy!8Ac Pknf5>Zo$;@pGgh?zIQtM diff --git a/hotel/rooms/__pycache__/models.cpython-35.pyc b/hotel/rooms/__pycache__/models.cpython-35.pyc index 32e07977c0e0057bb11469de65d0b0d28b913a04..91a01dca06d901e1b5a065e9ce41cf4081f0b611 100644 GIT binary patch delta 211 zcmbQn_l}oSjF*>-z0y6#eT1+1cz7}+N0F?n#OurZ{tGqf-;MDa{M%QS&e zW^x>})MP<6(aF8cc9VISq$dAm<`m>(U|`^3$5 na}k#VN@yahkYMCtERvf%oz0aEq#MZOV-lbIlTC_QM3NH#&iy2U delta 264 zcmaFIJB^Q1jF*>7GRP&Scq6AL6JyO}0T#K*g-ovEsmu&nJPgeY3{kucDQpZW>_E)8TV0&y`1*dz%?Ax0slBI(I-tXmnSCyTJTh|2>d hw2)N*?O-gDpPbL;$_CO6WFBM|pL~%`idj^W69DghH1Gfb diff --git a/hotel/rooms/__pycache__/urls.cpython-35.pyc b/hotel/rooms/__pycache__/urls.cpython-35.pyc index 20fb1271143c6c010475d267c0cc61ec9da41dc5..728d28bf6a52a14bcbf14540f3f1c076da46a637 100644 GIT binary patch delta 104 zcmeysw3kU)jF*?|S&@6p8U_Z2$3P4RY(SO+5Eq9`RQBabXJUwAV@Tm(2-f7BIMJNh uPm_J(BQ>#G+@(c11&JjksYQ9kD;bKoff|aqCo3~La)I;Ad{ delta 154 zcmdnX^npoPjF*?|rLRlOa|Q;6$3P4R>_C*fp6~&dDlbM=Vl9peTdy6wMB?ZFu)8v@AO-;Ip6KL8k n?$V;1g2a-N)S|rNl?+8ZK(Qj8iJu&KIDjkxCIMzqMo~rp2oobS diff --git a/hotel/rooms/__pycache__/views.cpython-35.pyc b/hotel/rooms/__pycache__/views.cpython-35.pyc index 1c1611f72d40db2e507c6f746f0911597c549269..e20a576f61aa589c6ccab7633901faf3a0e0bb20 100644 GIT binary patch delta 1135 zcmah|O>fgc5S_7OCvogL{YXkmk)l>@2?tIbdPG!$8&ssH2q{Xlrgc7S*ldeh;zp1& zLM0a@ZrpkVegFs5KjAAEeg-p6(nR7wtewoheLHX7IQi*Zxtm4Dv98`edGRp=@Ehhn z8s!gZ^)4>fUXc-{Pxk@4peWGTdufq`Zh|Ww90PXAmt%3ZElRh0NMHx^Q^fSzopHStJW^52n0s=;)METg_ z0`y6Lh!|P$FSWOfeG6I()G#2~qOT|i$_15A%yGBa&p~}L0drH4F}TEr`E;2*bF#v5 zQf_8=z>eMjIu`k4xK7fAJstfb`=rs&W<|2(mNdsN06~x}O}@Zg_{Q7}Y5LVl@o7Cy z$uR8JvWMQ0ABcwXYH2SJoSf&S*Yo6QL-}EF|5$Z9F-ZDZLCsCbbtcv8M|8!ZE0b+U zc_(Qi?T77OKU(F{n!fcYPVGOd9>iH+)Ps}mp(o>vAM{isXnH3b#4VqPw7Y&^eie4l zuD^5w-z%Rtq}TF#N``M5!P)3TYIhJ@Gu=2dm8=xxD%FrWhXo38?)j{5nPbF!=~G`a z)~TN4e}Xg;xa+CoP{c;_*lV_9bFbrjfr|AbPt~mP=5Z*yajMri_2eMM7cCAvg*e+x z=yhMnbq4QHs5sJ{5@x8(Gj^LooSU1eEHb>!p~PqAxL}M@t}(cH6P7sJ+o8BjtM`Bc zU9I6A)l5QMlslu>#^o&@`7YOCLx8R(8L2p< iHS-{Uk5b7hlI7&aXlQP)aQ}JCV-YQSY{SmjTYmxf%oWq&$PP4Ce-f6;Lcp z2=a^PhP>KoSN5pPJ7pHd@o>^0ooE{SX%I&bkJ90wJ1TK^KR*8TJ#39OS+^!W>4~P( z_|%WiS|{=F?DEqf3iN10x}i?eRyex+aW%L2Xw_$Jm&68gIb_!U^G=sc$?KAri%Yf2 zti&Jd%uG@uahAlkwnd)kRS69VYZ8|Khg+<&rE80?a3PUNz)ke9f|VJ%xNfW(beoHP zlomg7y2Jk*%m)^XgeeFW)&?9KKnH@V;Pej)JIR1}18y-FPHjQP2!XnJUJznDJk?=# zQ{0zRIAcf*LrB;;V=ISfLFmc{!)#Q}G+_1sSA@!Y8Bmkg%PN8DMWf-Nro|uY@vOa+ zIYXTu#p=M_9RxZ`pT;ySM$19c8~cMmWp@8a_m8t`f1v$HtDf>xp9EE5u_;P06lU9n z*>~kSr=K56cchy;f5Y?#ypXR{G1TIjM3w|}*mDo7xWcBF&@n2U(az$~x!Bm^{v(-` uj{(p#NGk36VyVk0yIQW+s@`A6qp`aH 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 0000000000000000000000000000000000000000..bb6b31864fa9612258daf8ce240dec6567f32dbe GIT binary patch literal 561 zcmZ{gy-ve05XaB?Y7$zhEbt5&XgUBBLLCsD+5xr-$qMzUq)p-wrVk}*%^(BF8O#{4v9Lhc@J?YH zkipV|oeeVzI`9~|-&6t-(_x-2s-#Y3q2?xZSS~puI_i=Pf z6y$iY1Iwg55FKg}=wNbSYqydzSNeQ79A5ExmSR!!3KdqHrZm)Nka}!u%A+VUIs49!(>5~V{ + + 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):