mirror of
https://github.com/rjNemo/villafleurie
synced 2026-06-12 13:26:47 +00:00
refactoring
This commit is contained in:
parent
45bbbbc659
commit
d7db05769f
1 changed files with 17 additions and 59 deletions
|
|
@ -22,14 +22,7 @@ def index(request):
|
||||||
|
|
||||||
def liste_location(request):
|
def liste_location(request):
|
||||||
places = Place.objects.all()
|
places = Place.objects.all()
|
||||||
images = []
|
context = {'places': places}
|
||||||
for place in places:
|
|
||||||
imgs = place.images.all()
|
|
||||||
images.append(imgs)
|
|
||||||
context = {
|
|
||||||
'places': places,
|
|
||||||
'images': images
|
|
||||||
}
|
|
||||||
return render(request, 'rental/list_place.html', context)
|
return render(request, 'rental/list_place.html', context)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -40,57 +33,19 @@ def location(request, place_name='T2'):
|
||||||
'place': place,
|
'place': place,
|
||||||
'images': images
|
'images': images
|
||||||
}
|
}
|
||||||
if request.method == 'POST':
|
|
||||||
form = ReservationForm(request.POST)
|
|
||||||
if form.is_valid():
|
|
||||||
name = form.cleaned_data['name']
|
|
||||||
email = form.cleaned_data['email']
|
|
||||||
phone = form.cleaned_data['phone']
|
|
||||||
message = form.cleaned_data['message']
|
|
||||||
place_name = form.cleaned_data['place']
|
|
||||||
start = form.cleaned_data['start']
|
|
||||||
end = form.cleaned_data['end']
|
|
||||||
try:
|
|
||||||
guest = Guest.objects.filter(email=email)
|
|
||||||
if not guest.exists():
|
|
||||||
guest = Guest.objects.create(
|
|
||||||
email=email,
|
|
||||||
name=name,
|
|
||||||
phone=phone
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
guest = guest.first()
|
|
||||||
|
|
||||||
place = get_object_or_404(Place, name=place_name)
|
context, template = handle_reservation_form(
|
||||||
available = check_availability(place, start, end)
|
request, context, init_template='rental/detail_place.html')
|
||||||
if available:
|
|
||||||
price = get_reservation_price(place, start, end)
|
return render(request, template, context)
|
||||||
reservation = Reservation.objects.create(
|
|
||||||
guest=guest,
|
|
||||||
place=place,
|
|
||||||
message=message,
|
|
||||||
start=start,
|
|
||||||
end=end,
|
|
||||||
price=price
|
|
||||||
)
|
|
||||||
context = {
|
|
||||||
'reservation': reservation
|
|
||||||
}
|
|
||||||
return render(request, 'rental/merci.html', context)
|
|
||||||
else:
|
|
||||||
context = {'form': form}
|
|
||||||
return render(request, 'rental/reservation.html', context)
|
|
||||||
except IntegrityError:
|
|
||||||
form.errors['internal'] = "Une erreur interne est apparue. \
|
|
||||||
Merci de recommencer votre requête."
|
|
||||||
else:
|
|
||||||
form = ReservationForm()
|
|
||||||
context['form'] = form
|
|
||||||
context['errors'] = form.errors.items()
|
|
||||||
return render(request, 'rental/detail_place.html', context)
|
|
||||||
|
|
||||||
|
|
||||||
def reservation(request):
|
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'):
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = ReservationForm(request.POST)
|
form = ReservationForm(request.POST)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
|
|
@ -128,17 +83,20 @@ def reservation(request):
|
||||||
context = {
|
context = {
|
||||||
'reservation': reservation
|
'reservation': reservation
|
||||||
}
|
}
|
||||||
return render(request, 'rental/merci.html', context)
|
template = 'rental/merci.html'
|
||||||
|
return context, template
|
||||||
else:
|
else:
|
||||||
context = {'form': form}
|
context = {'form': form}
|
||||||
return render(request, 'rental/reservation.html', context)
|
template = 'rental/reservation.html'
|
||||||
|
return context, template
|
||||||
except IntegrityError:
|
except IntegrityError:
|
||||||
form.errors['internal'] = "Une erreur interne est apparue. Merci de recommencer votre requête."
|
form.errors['internal'] = "Une erreur interne est apparue. Merci de recommencer votre requête."
|
||||||
else:
|
else:
|
||||||
form = ReservationForm()
|
form = ReservationForm()
|
||||||
context = {'form': form}
|
context['form'] = form
|
||||||
context['errors'] = form.errors.items()
|
context['errors'] = form.errors.items()
|
||||||
return render(request, 'rental/reservation.html', context)
|
template = init_template
|
||||||
|
return context, template
|
||||||
|
|
||||||
|
|
||||||
def calendar(request, place_name):
|
def calendar(request, place_name):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue