Пример #1
0
def create_order(request ,transaction_id):
    order = Order()
    checkout_form = CheckoutForm(request.POST , instance=order)
    order = checkout_form.save(commit=False)
    order.transaction_id = transaction_id
    order.user = None
    if request.user.is_authenticated():
        order.user = request.user
    order.status = Order.SUBMITTED
    order.save()

    # if the order saved 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.deduct_quantity(request)


    # save the profile for future orders
    if request.user.is_authenticated():
        from accounts import profile
        profile.set(request)
    # return the new order object
    return order
Пример #2
0
def create_order(request):
    """ function that takes a POST request and adds a product instance to the current customer's shopping cart """
    print('create_order!!!!')
    post_data = request.POST.copy()

    cart_items = cart.get_cart_items(request)
    order = Order()
    username = request.session['username']
    custom_user = Customer.objects.get(
                    user = User.objects.get(
                            username = request.session['username']))
    order.user = custom_user
    order.email = post_data.get('email',1)
    order.phone = post_data.get('phone',1)
    order.ip_address = request.META.get('REMOTE_ADDR')

    order.save()

    for cart_item in cart_items:
        product = OrderItem()
        product.order = order
        product.product = cart_item.product
        product.quantity = cart_item.quantity

        product.save()

    cart.empty_cart(request)

    print_order(order.id)
    
    return order
Пример #3
0
def create_order(request, transaction_id):
    order = Order()
    checkout_form = CheckoutForm(request.POST, instance = order)
    order = checkout_form.save(commit = False)
    order.transaction_id = transaction_id
    order.ip_address = request.META.get('REMOTE_ADDR')
    if request.user.is_authenticated():
        order.user = request.user
    order.status = Order.SUBMITTED
    order.save()
    # if the order save succeeded
    if order.pk:
        cart_items = shoppingcart.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
            oi.product = ci.product
            oi.save()
        # all set, empty card
        shoppingcart.empty_cart(request)
        # save profile info for future orders
        if request.user.is_authenticated():
            from accounts import profile
            profile.set(request)
    # return the new order object
    return order
Пример #4
0
def create_order(request,transaction_id):
    order = Order()
    checkout_form = CheckoutForm(request.POST, instance=order)
    order = checkout_form.save(commit=False)
    order.transaction_id = transaction_id 
    order.ip_address = request.META.get('REMOTE_ADDR')
    order.status = Order.SUBMITTED
    order.user = None
    if request.user.is_authenticated():
        order.user = request.user 
    order.save()
    
    # 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)
        # save profile info for future orders
    if request.user.is_authenticated():
        from accounts import profile
        profile.set(request)
    # return the new order object
    return order    
     
Пример #5
0
def create_order(request,transaction_id):
    order = Order()
    checkout_form = CheckoutForm(request.POST, instance=order)
    order = checkout_form.save(commit=False)
    order.transaction_id = transaction_id
    order.ip_address = request.META.get('REMOTE_ADDR')
    order.user = None
    if request.user.is_authenticated():
        order.user = request.user
    order.status = Order.SUBMITTED
    order.save()
    
    if order.pk:
        cart_items = cart.get_cart_items(request)
        for ci in cart_items:
            oi = OrderItem()
            oi.order = order
            oi.quantity = ci.quantity
            oi.price = ci.price
            oi.product = ci.product
            oi.save()
        cart.empty_cart(request)
        if request.user.is_authenticated():
            from accounts import profile
            profile.set(request)
    return order
    
Пример #6
0
def create_order(request, order_total, transaction_id):
    order = Order()
    checkout_form = CheckoutForm(request.POST, instance=order)
    order = checkout_form.save(commit=False)
    order.transaction_id = transaction_id
    order.ip_address = request.META.get('REMOTE_ADDR')
    order.status = Order.SUBMITTED
    order.user = None
    # order.order_total = order_total
    order_total.purchased = True

    if request.user.is_authenticated():
        order.user = request.user
        from accounts import profile

        user_profile = profile.get_profile(request)
        # verificar si campos requeridos estan vacios, si lo estan crear un user_profile para este usuario desde
        # aqui, asi no tendria q escribirlo en el form UserProfileForm
        if not user_profile.email or not user_profile.shipping_name or user_profile.shipping_city == 0:
            profile.set_profile(request)
    order.save()
    order_total.order = order
    order_total.save()
    # if the order save succeeded
    if order.pk:
        # verificar si el usuario tuvo la promo4, para eliminarla
        try:
            promo4_id = request.session['promo4_id']
            del request.session['promo4_id']
            promo4 = Promo4.objects.get(id=promo4_id)
            promo4.active = False
            promo4.save()
        except KeyError:
            pass
        try:  # eliminar el codigo de promoion para el usuario
            promo_id = request.session['promo3_id']
            del request.session['promo3_id']
            Promo3.objects.get(id=promo_id).delete()
        except KeyError:
            pass
        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
            # disminuir del almacen la cant disponible para este prod
            ci.product.quantity -= ci.quantity
            ci.product.save()
            oi.save()
            # all set, empty cart
        cart.empty_cart(request)
        # utils.send_email("Leoshop", "Gracias por preferirnos", user_profile.email)
    # return the new order object
    return order
Пример #7
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)