Example #1
0
def create_order(request, postdata):
    order = Order()

    # order.user = None
    # if request.user.is_authenticated():
    # order.user = request.user

    # данные с формы
    data = {
        u"Имя": postdata["first-name"],
        u"Фамилия": postdata["last-name"],
        u"Email": postdata["email"],
        u"Телефон": postdata["phone"],
        u"Время звонка": postdata["call-time"],
        u"Область": postdata["region"],
        u"Город": postdata["city"],
        u"Улица": postdata["street"],
        u"Дом": postdata["building"],
        u"Квартира": postdata["flat"],
        u"Способ доставки": postdata["ship-method"],
        u"Номер склада (адрес офиса)": postdata["warehouse"],
        u"Комментарий к заказу": postdata["comment"],
        u"Дополнительная информация": postdata["additional_info"],
    }

    # добавление данных в модель заказа
    order.first_name = data[u"Имя"]
    order.last_name = data[u"Фамилия"]
    order.email = data[u"Email"]
    order.phone = data[u"Телефон"]
    order.call_time = data[u"Время звонка"]
    order.region = data[u"Область"]
    order.city = data[u"Город"]
    order.street = data[u"Улица"]
    order.building = data[u"Дом"]
    order.flat = data[u"Квартира"]
    order.ship_method = data[u"Способ доставки"]
    order.office = data[u"Номер склада (адрес офиса)"]
    order.additional_info = data[u"Дополнительная информация"]
    order.comment = data[u"Комментарий к заказу"]
    order.ip_address = request.META.get("REMOTE_ADDR")
    order = Order(**data)
    order.status = order.SUBMITTED
    order.save()
    # отправка почты менеджеру
    send_mail_manager(data, order)
    # отправка почты заказчкику
    if data[u"Email"] != "":
        send_mail_customer(data, order)
    # if the order save succeeded
    if order.pk:
        cart_items = cart.get_cart_items(request)
        for ci in cart_items:
            # create order item for each cart item
            oi = OrderItem()
            oi.order = order
            oi.quantity = ci.quantity
            oi.price = ci.price  # now using @property
            oi.product = ci.product
            oi.save()
        # all set, empty cart
        cart.empty_cart(request)
Example #2
0
File: views.py Project: tmars/DS_CW
            if not request.user.is_authenticated():
                form._errors.setdefault("__all__", ErrorList()).append("Для заказа авторизируйтесь.")
            else:
                try:
                    rpc_srv = conn.TimeoutServerProxy(office.xmlrpc, timeout=2)
                    res = rpc_srv.reserve_car(car_id, start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d"))
                except Exception, exc:
                    return render(request, 'message.html', {'result': 'Офис не ответил.' + str(exc)})

                if res == False:
                    form._errors.setdefault("__all__", ErrorList()).append("Невозможно совершить заказ.")
            
                else:
                    order = Order()
                    order.reserve(car_id, car['name'], start_date, end_date)
                    order.office = office
                    order.order = int(res[0])
                    order.sum = int(res[1])
                    order.user = request.user
                    order.save()
                
                    return HttpResponseRedirect(reverse('account:index'))
        
    return render(request, 'catalog/detail.html', {
        'car': car,
        'form': form,
    })
    
def reserve(request, office_name, car_id):
    pass