Files
2026-08-02 22:56:29 +04:00

40 lines
1.3 KiB
Python

from django.contrib import messages
from django.db import IntegrityError, transaction
from django.shortcuts import redirect, render
from django.urls import reverse
from .forms import ConsultationRequestForm
from .models import ConsultationSlot
def home(request):
if request.method == "POST":
form = ConsultationRequestForm(request.POST)
if form.is_valid():
try:
with transaction.atomic():
form.save()
except IntegrityError:
form.add_error("slot", "Это время только что занял другой ученик. Выберите другой слот.")
else:
messages.success(
request,
"Заявка принята. Игорь Олегович свяжется с вами для подтверждения консультации.",
)
return redirect(f"{reverse('consultations:home')}#booking")
else:
form = ConsultationRequestForm()
return render(
request,
"consultations/home.html",
{
"form": form,
"available_slot_count": ConsultationSlot.objects.available().count(),
},
)
def privacy_policy(request):
return render(request, "consultations/privacy.html")