def post(self, request, *args, **kwargs): staff_data = get_object_or_404(Staff, id=self.kwargs['pk']) year = self.kwargs.get('year') month = self.kwargs.get('month') day = self.kwargs.get('day') hour = self.kwargs.get('hour') start_time = make_aware(datetime(year=year, month=month, day=day, hour=hour)) end_time = make_aware(datetime(year=year, month=month, day=day, hour=hour + 1)) booking_data = Booking.objects.filter(staff=staff_data, start=start_time) form = BookingForm(request.POST or None) if booking_data.exists(): form.add_error(None, '既に予約があります。\n別の日時で予約をお願いします。') else: if form.is_valid(): booking = Booking() booking.staff = staff_data booking.start = start_time booking.end = end_time booking.first_name = form.cleaned_data['first_name'] booking.last_name = form.cleaned_data['last_name'] booking.tel = form.cleaned_data['tel'] booking.remarks = form.cleaned_data['remarks'] booking.save() return redirect('thanks') return render(request, 'app/booking.html', { 'staff_data': staff_data, 'year': year, 'month': month, 'day': day, 'hour': hour, 'form': form, })
def book_event(request): """ Request Handler for booking event """ response = reply_object() form = BookingForm(request.POST, request=request) if form.is_valid(): response = form.start_booking_session() else: response["code"] = settings.APP_CODE["FORM ERROR"] response["errors"] = form.errors return HttpResponse(simplejson.dumps(response))