Beispiel #1
0
def cart_view(request, template_name="cart/cart.html"):
    """Представление для отображения корзины"""
    page_title = _(u'Shopping cart')
    if request.method == 'POST':
        postdata = request.POST.copy()

        """удаление товара"""
        if postdata.has_key('remove'):
            cart.remove_from_cart(request)

        """пересчет товара по количеству"""
        if postdata.has_key('update'):
            cart.update_cart(request)

        """отправляем request на пересчет корзины по купону"""
        if postdata.has_key('update_cupon'):
            cart.update_cupon_cart(request)

        """оформление заказа"""
        if postdata.has_key('checkout'):
            checkout_url = checkout.get_checkout_url(request)
            return HttpResponseRedirect(checkout_url)

    # Получаем список всех товаров в корзине из cookies
    #cart_item_count = cart.cart_item_count(request)
    cart_items = cart.get_cart_items(request)
    # cupon = cart.get_cupon(request)
    cart_subtotal = cart.cart_subtotal(request)
    return render_to_response(template_name, locals(),
                              context_instance=RequestContext(request))
Beispiel #2
0
def cart_view(request, template_name="cart/cart.html"):
    """Представление для отображения корзины"""
    page_title = _(u'Shopping cart')
    if request.method == 'POST':
        postdata = request.POST.copy()
        if postdata.has_key('remove'):
            cart.remove_from_cart(request)
        if postdata.has_key('update'):
            cart.update_cart(request)
        if postdata.has_key('checkout'):
            checkout_url = checkout.get_checkout_url(request)
            return HttpResponseRedirect(checkout_url)
    # Получаем список всех товаров в корзине из cookies
    #cart_item_count = cart.cart_item_count(request)
    cart_items = cart.get_cart_items(request)
    cart_subtotal = cart.cart_subtotal(request)
    return render_to_response(template_name, locals(),
                              context_instance=RequestContext(request))
def process(request):
    """
    Получаем POST запрос содержащий данные о заказе
    Делаем запрос к шлюзу платежной системы содержащий данные оплаты
    Шлюз возвращает словарь с двумя записями: 'order_number' и 'message' содержание которых зависит от успешности
    транзакции.
    Если транзакция завершилась неудачей то order_number принимает значение 0, а message содержит сообщение об ошибке
    Успешная транзация возвратит номер заказа и сообщение (для большинства систем пустое).
    """
    postdata = request.POST.copy()
    card_num = postdata.get('credit_card_number', '')
    exp_month = postdata.get('credit_card_expire_month', '')
    exp_year = postdata.get('credit_card_expire_year', '')
    exp_date = exp_month + exp_year
    cvv = postdata.get('credit_card_cvv', '')
    amount = cart.cart_subtotal(request)

    results = {}

    # Если используется authnet
    #    response = authnet.do_auth_capture(amount=amount,
    #                                       card_num=card_num,
    #                                       exp_date=exp_date,
    #                                       card_cvv=cvv)

    response = [1, 1, 1, 1, 1, 1]
    if response[0] == TransactionResultType.APPROVED:
        #transaction_id = response[6]
        transaction_id = random.randint(1, 999999)
        order = create_order(request, transaction_id)
        results = {'order_number': order.id, 'message': u''}
    if response[0] == TransactionResultType.DECLINED:
        results = {
            'order_number': 0,
            'message': _(u'There is a problem with your credit card.')
        }
    if response[0] == TransactionResultType.ERROR or response[
            0] == TransactionResultType.HELD_FOR_REVIEW:
        results = {
            'order_number': 0,
            'message': _(u'Error processing your order.')
        }
    return results
Beispiel #4
0
def cart_view(request, template_name="cart/cart.html"):
    """Представление для отображения корзины"""
    page_title = _(u'Shopping cart')
    if request.method == 'POST':
        postdata = request.POST.copy()

        if postdata.has_key('remove'):
            cart.remove_from_cart(request)

        if postdata.has_key('update'):
            cart.update_cart(request)

        """отправляем request на пересчет корзины по купону"""
        if postdata.has_key('update_cupon'):
            cart.update_cupon_cart(request)


        if postdata.has_key('checkout'):
            checkout_url = checkout.get_checkout_url(request)
            return HttpResponseRedirect(checkout_url)

    deliveryForm = DeliveryForm()

    request.breadcrumbs(u'Корзина', request.path_info)

    # Получаем список всех товаров в корзине из cookies
    #cart_item_count = cart.cart_item_count(request)
    cart_items = cart.get_cart_items(request)
    cart_subtotal = cart.cart_subtotal(request)
    cart_gift = cart.cart_gift_add(request)

    # доставка
    try: 
        delivery = cart.get_delivery(request)
        delivery.save()
        cart_total = cart.cart_total(request)
    except Exception:
        return redirect("/")

    return render_to_response(template_name, locals(),
                              context_instance=RequestContext(request))
Beispiel #5
0
def cart_view(request, template_name="cart/cart.html"):
    """Представление для отображения корзины"""
    page_title = _(u'Shopping cart')
    if request.method == 'POST':
        postdata = request.POST.copy()

        if postdata.has_key('remove'):
            cart.remove_from_cart(request)

        if postdata.has_key('update'):
            cart.update_cart(request)
        """отправляем request на пересчет корзины по купону"""
        if postdata.has_key('update_cupon'):
            cart.update_cupon_cart(request)

        if postdata.has_key('checkout'):
            checkout_url = checkout.get_checkout_url(request)
            return HttpResponseRedirect(checkout_url)

    deliveryForm = DeliveryForm()

    request.breadcrumbs(u'Корзина', request.path_info)

    # Получаем список всех товаров в корзине из cookies
    #cart_item_count = cart.cart_item_count(request)
    cart_items = cart.get_cart_items(request)
    cart_subtotal = cart.cart_subtotal(request)
    cart_gift = cart.cart_gift_add(request)

    # доставка
    try:
        delivery = cart.get_delivery(request)
        delivery.save()
        cart_total = cart.cart_total(request)
    except Exception:
        return redirect("/")

    return render_to_response(template_name,
                              locals(),
                              context_instance=RequestContext(request))
def process(request):
    """
    Получаем POST запрос содержащий данные о заказе
    Делаем запрос к шлюзу платежной системы содержащий данные оплаты
    Шлюз возвращает словарь с двумя записями: 'order_number' и 'message' содержание которых зависит от успешности
    транзакции.
    Если транзакция завершилась неудачей то order_number принимает значение 0, а message содержит сообщение об ошибке
    Успешная транзация возвратит номер заказа и сообщение (для большинства систем пустое).
    """
    postdata = request.POST.copy()
    card_num = postdata.get('credit_card_number','')
    exp_month = postdata.get('credit_card_expire_month','')
    exp_year = postdata.get('credit_card_expire_year','')
    exp_date = exp_month + exp_year
    cvv = postdata.get('credit_card_cvv','')
    amount = cart.cart_subtotal(request)

    results = {}

    # Если используется authnet
    #    response = authnet.do_auth_capture(amount=amount,
    #                                       card_num=card_num,
    #                                       exp_date=exp_date,
    #                                       card_cvv=cvv)

    response = [1, 1, 1, 1, 1, 1]
    if response[0] == TransactionResultType.APPROVED:
        #transaction_id = response[6]
        transaction_id = random.randint(1, 999999)
        order = create_order(request, transaction_id)
        results = {'order_number': order.id, 'message': u''}
    if response[0] == TransactionResultType.DECLINED:
        results = {'order_number': 0, 'message': _(u'There is a problem with your credit card.')}
    if response[0] == TransactionResultType.ERROR or response[0] == TransactionResultType.HELD_FOR_REVIEW:
        results = {'order_number': 0, 'message': _(u'Error processing your order.')}
    return results