Пример #1
0
def order_view(request):
    # Рендерит главную страницу, с формой для заказа, и входа в аккаунт диспетчера
    order_form = OrderForm(request.POST or None)
    login_form = LoginForm(request.GET or None)
    context = {
        'order_form': order_form,
        'login_form': login_form
    }
    if order_form.is_valid():
        client_name = order_form.cleaned_data['client_name']
        client_phone = order_form.cleaned_data['client_phone']
        address = order_form.cleaned_data['address']
        destination = order_form.cleaned_data['destination']
        desired_time = order_form.cleaned_data['desired_time']
        new_order = Order(client_name=client_name,
                          client_phone=client_phone,
                          address=address,
                          destination=destination,
                          desired_time=desired_time)
        try:
            car = Car.objects.filter(ordered=False)[0]
            new_order.car = car
            new_order.save()
            car.ordered = True
            car.save()
            order_inf = {"order_id": new_order.id, "car_brand": car.brand}
        except:
            order_inf = False

        context.update({'order_inf': order_inf})

    if login_form.is_valid():
        username = login_form.cleaned_data['username']
        password = login_form.cleaned_data['password']
        login_user = authenticate(username=username, password=password)
        if login_user:
            login(request, login_user)
            return HttpResponseRedirect(reverse('all_orders'))

    return render(request, 'order.html', context)