From cb840433deff6ed112a04220045ff091d91ace29 Mon Sep 17 00:00:00 2001 From: Ruidy Nemausat Date: Wed, 8 Apr 2020 11:30:21 +0200 Subject: [PATCH] add views booking, contact, place files; update urls.py accordingly --- rental/urls.py | 14 ++--- rental/views/{views.py => booking.py} | 84 +-------------------------- rental/views/contact.py | 24 ++++++++ rental/views/place.py | 39 +++++++++++++ 4 files changed, 73 insertions(+), 88 deletions(-) rename rental/views/{views.py => booking.py} (52%) create mode 100644 rental/views/contact.py create mode 100644 rental/views/place.py diff --git a/rental/urls.py b/rental/urls.py index d858605..e3b0d8d 100644 --- a/rental/urls.py +++ b/rental/urls.py @@ -1,7 +1,7 @@ from django.contrib.staticfiles.urls import static, staticfiles_urlpatterns from django.urls import path from villafleurie import settings -from rental.views import home, views +from rental.views import home, booking, contact, place app_name = 'rental' @@ -12,13 +12,13 @@ urlpatterns = [ path('partenaires/', home.Partners.as_view(), name='partners'), path('services/', home.Services.as_view(), name='services'), - path('contact/', views.contact, name='contact'), - path('reservation/', views.reservation, name='reservation'), + path('contact/', contact.view, name='contact'), - path('', views.index, name='index'), - path('hebergements/', views.liste_location, name='list_place'), - path('/', views.location, name='detail_place'), - # path('calendar//', views.calendar, name='calendar'), + path('reservation/', booking.view, name='reservation'), + + path('', place.index, name='index'), + path('hebergements/', place.all, name='list_place'), + path('/', place.view, name='detail_place') ] urlpatterns += staticfiles_urlpatterns() diff --git a/rental/views/views.py b/rental/views/booking.py similarity index 52% rename from rental/views/views.py rename to rental/views/booking.py index b4c40cb..20086cd 100644 --- a/rental/views/views.py +++ b/rental/views/booking.py @@ -1,58 +1,19 @@ from django.core.exceptions import ValidationError from django.db import IntegrityError from django.shortcuts import render, get_object_or_404 -from django.utils.translation import gettext_lazy as _ from rental.forms.booking import BookingForm -from rental.forms.contact import ContactForm from rental.models.booking import Booking -from rental.models.contact import Contact from rental.models.guest import Guest from rental.models.place import Place -from rental.models.testimonial import Testimonial -def index(request): - places = Place.objects.all() - temoignages = Testimonial.objects.all() - - context = { - 'places': places, - 'temoignages': temoignages - } - - return render(request, 'rental/index.html', context) - - -def liste_location(request): - places = Place.objects.all() - - context = {'places': places} - - return render(request, 'rental/list_place.html', context) - - -def location(request, place_name='T2'): - place = get_object_or_404(Place, name=place_name) - images = place.images.all() - - context = { - 'place': place, - 'images': images - } - - context, template = handle_reservation_form( - request, context, init_template='rental/detail_place.html') +def view(request): + context, template = handle_booking_form(request) return render(request, template, context) -def reservation(request): - context, template = handle_reservation_form(request) - - return render(request, template, context) - - -def handle_reservation_form(request, context={}, init_template='rental/reservation.html'): +def handle_booking_form(request, context={}, init_template='rental/reservation.html'): if request.method == 'POST': form = BookingForm(request.POST) if form.is_valid(): @@ -112,42 +73,3 @@ def handle_reservation_form(request, context={}, init_template='rental/reservati template = init_template return context, template - - -def calendar(request, place_name): - """ - returns a list of all related place reservations - """ - # synchronize_calendars() - booked_dates = Booking.objects.all() - bookings = [ - booking for booking in booked_dates if booking.place.name == place_name] - context = { - 'place_name': place_name, - 'bookings': bookings - } - - return render(request, 'rental/calendar.html', context) - - -def contact(request): - if request.method == 'POST': - form = ContactForm(request.POST) - if form.is_valid(): - contact = Contact.objects.create( - name=form.cleaned_data['name'], - email=form.cleaned_data['email'], - subject=form.cleaned_data['subject'], - message=form.cleaned_data['message'] - ) - - contact.send_confirmation() - contact.send_notification() - - return render(request, 'rental/contact_merci.html', {}) - - else: - form = ContactForm() - context = {'form': form} - return render(request, 'rental/contact.html', context) - diff --git a/rental/views/contact.py b/rental/views/contact.py new file mode 100644 index 0000000..f2e7e34 --- /dev/null +++ b/rental/views/contact.py @@ -0,0 +1,24 @@ +from django.shortcuts import render +from rental.forms.contact import ContactForm + + +def view(request): + if request.method == 'POST': + form = ContactForm(request.POST) + if form.is_valid(): + contact = Contact.objects.create( + name=form.cleaned_data['name'], + email=form.cleaned_data['email'], + subject=form.cleaned_data['subject'], + message=form.cleaned_data['message'] + ) + + contact.send_confirmation() + contact.send_notification() + + return render(request, 'rental/contact_merci.html', {}) + + else: + form = ContactForm() + context = {'form': form} + return render(request, 'rental/contact.html', context) diff --git a/rental/views/place.py b/rental/views/place.py new file mode 100644 index 0000000..c23d029 --- /dev/null +++ b/rental/views/place.py @@ -0,0 +1,39 @@ +from django.shortcuts import render, get_object_or_404 +from django.utils.translation import gettext_lazy as _ +from rental.models.place import Place +from rental.models.testimonial import Testimonial + + +def index(request): + places = Place.objects.all() + temoignages = Testimonial.objects.all() + + context = { + 'places': places, + 'temoignages': temoignages + } + + return render(request, 'rental/index.html', context) + + +def all(request): + places = Place.objects.all() + + context = {'places': places} + + return render(request, 'rental/list_place.html', context) + + +def view(request, place_name='T2'): + place = get_object_or_404(Place, name=place_name) + images = place.images.all() + + context = { + 'place': place, + 'images': images + } + + context, template = handle_reservation_form( + request, context, init_template='rental/detail_place.html') + + return render(request, template, context)