Пример #1
0
def logout_user(request):
    request.session['new_cart'] = None
    cart = Cart(request)
    cart.flush()
    logout(request)
    return render_to_response('customers/logout.html',
                              context_instance=RequestContext(request))
Пример #2
0
def cart_flush(request):
    """
    Remove all items from cart and flush session data related to cart.
    """
    cart = Cart(request)
    cart.flush()
    create_message(request, _("Cart has been flushed"))
    return conditional_redirect(request, '/')
Пример #3
0
def cart_flush(request):
    """
    Remove all items from cart and flush session data related to cart.
    """
    cart = Cart(request)
    cart.flush()
    create_message(request, _("Cart has been flushed"))
    return conditional_redirect(request, '/')
Пример #4
0
def add_to_cart(request, product_id):
    cart = Cart(request)
    product_object = get_object_or_404(Product, id=product_id)
    if request.method == 'POST':
        forms = QuantityForm(product_id, request.POST)
        if forms.is_valid():
            cd = forms.cleaned_data
            cart.add(product=product_object, quantity=cd['product_quantity'])

    return redirect('orders:cart')
Пример #5
0
def cart_add(request, slug):
    product = get_object_or_404(Product, slug=slug)
    quantity = request.GET.get('quantity', False)
    cart = Cart(request)
    if quantity:
        cart.add([product.pk for i in range(0, int(quantity))])
    else:
        cart.add(product)
    create_message(request, _("Product %s added") % product.name)
    return conditional_redirect(request, reverse('show_cart'))
Пример #6
0
def order_submit(request):
    user = request.user
    cart = Cart(request)
    if len(cart) != 0:
        dandp = DandP(request)
        delivery = Delivery.objects.get(id=int(dandp.dandp['delivery']) + 1)
        payment = Payment.objects.get(id=int(dandp.dandp['payment']) + 1)
        status_delivery = StatusDelivery.objects.get(id=1)
        status_payment = StatusPayment.objects.get(id=1)

        order = Order.objects.create(user=user.profile,
                                     email=user.email,
                                     total_price=cart.get_total_price(),
                                     delivery=delivery,
                                     status_delivery=status_delivery,
                                     payment=payment,
                                     status_payment=status_payment,
                                     full_name=user.profile.full_name,
                                     phone=user.profile.phone,
                                     postcode=user.profile.postcode,
                                     region=user.profile.region,
                                     locality=user.profile.locality,
                                     street=user.profile.street,
                                     house_nmb=user.profile.house_nmb,
                                     apartment_nmb=user.profile.apartment_nmb)

        for item in cart:
            product = Product.objects.get(id=item['product_id'])
            OrderItem.objects.create(order=order,
                                     product=product,
                                     price=item['price'],
                                     quantity=item['quantity'],
                                     total_price=item['cost'])

            product.save()

        cart.clear()
        dandp.clear()

        current_site = get_current_site(request)
        mail_subject = 'Новый заказ на сайте: ' + current_site.domain
        message = render_to_string('orders/order_submit_message.html', {
            'domain': current_site.domain,
            'order': order,
        })
        to_email = MailToString.objects.all().first().email
        email = EmailMessage(mail_subject, message, to=[to_email])
        email.send()

        context = {}
        return render(request, 'orders/order_submit.html', context)
    else:
        return redirect('cart')
Пример #7
0
def remove(request):
    cart = Cart(request)
    product_id = int(request.GET.get('product_id'))
    product = Product.objects.get(id=product_id)
    cart.remove(product)

    context = {
        'cart_len': len(cart),
        'total_price': cart.get_total_price(),
    }

    return JsonResponse(context)
Пример #8
0
    def add_to_cart(self, request, **kwargs):
        ADDED = 50
        NOT_ADDED = 60
        research_slug = request.GET.get('add_to_cart')

        research = Research.objects.get(slug=research_slug)
        success_message = '<span class="font-weight-bold">"%s"</span>, по цене <span class="text-nowrap font-weight-bold">%s руб.</span><br />' % (
            research.title, research.nominal)
        cart = SessionCart(request)
        if cart.add(research):
            messages.add_message(request, ADDED, success_message)
        else:
            messages.add_message(request, NOT_ADDED,
                                 'Исследование уже в корзине')
Пример #9
0
def cart_quantity(request):
    """
    Change given item's quantity in shopping cart.
    """
    if request.method == 'POST':
        try:
            product_slug = request.POST.get('slug', False)
            quantity = int(request.POST.get('quantity', 1))
            if quantity > 0:
                product = Product.published.get(slug=product_slug)
                cart = Cart(request)
                cart.change_quantity(product, quantity)
        except:
            pass
    return conditional_redirect(request, reverse('show_cart'))
Пример #10
0
def cart_quantity(request):
    """
    Change given item's quantity in shopping cart.
    """
    if request.method == 'POST':
        try:
            product_slug = request.POST.get('slug', False)
            quantity = int(request.POST.get('quantity', 1))
            if quantity > 0:
                product = Product.published.get(slug=product_slug)
                cart = Cart(request)
                cart.change_quantity(product, quantity)
        except:
            pass
    return conditional_redirect(request, reverse('show_cart'))
Пример #11
0
def cart_detail(request):
    """get cart detail"""
    cart = Cart(request)
    context = {
        'cart': cart,
    }
    return render(request, 'orders/cart.html', context)
Пример #12
0
def contact_info(request):
    cart = Cart(request)
    if len(cart) != 0:
        if request.method == 'POST':
            dandp = DandP(request)
            delivery = request.POST.get('delivery')
            payment = request.POST.get('payment')

            if delivery == 0:
                dandp.dandp['delivery'] = 0
            if delivery == 1:
                dandp.dandp['delivery'] = 1
            if payment == 0:
                dandp.dandp['payment'] = 0
            if payment == 1:
                dandp.dandp['payment'] = 1

            dandp.update(delivery, payment)
    else:
        return redirect('cart')

    form = OrderForm(request.user)

    context = {
        'form': form,
    }

    return render(request, 'orders/contact_info.html', context)
Пример #13
0
def change_quantity(request):
    cart = Cart(request)
    product_id = int(request.GET.get('product_id'))
    product = Product.objects.get(id=product_id)
    quantity = int(request.GET.get('quantity'))
    cart.change_quantity(product=product, quantity=quantity)

    cost = int(cart.cart[str(product.id)]['cost'])

    context = {
        'cart_len': len(cart),
        'total_price': cart.get_total_price(),
        'cost': cost,
    }

    return JsonResponse(context)
Пример #14
0
    def get_context_data(self, **kwargs):
        data = super(CartPurchaseView, self).get_context_data(**kwargs)
        # if self.request.user.is_authenticated:
        #     cart = Cart.objects.get(client__user=self.request.user)
        #     research = cart.items.all()
        # else:
        #     cart = Cart(self.request)
        #     research = [a.product for a in cart]
        cart = Cart(self.request)
        research = cart.cart.cartitem_set.all()

        FormSet = forms.formset_factory(CartResearchForm, max_num=len(research), min_num=len(research))
        formset = FormSet(initial=[{
            'research': x.research,
            'duration': x.duration,
            'update_frequency': x.update_frequency
        } for x in research])

        try:
            data['cart'] = kwargs['form']
            data['formset'] = zip(kwargs['form'], research)
        except:
            data['cart'] = formset
            data['formset'] = zip(formset, research)
        finally:
            return data
Пример #15
0
def cart_show(request):
    cart = Cart(request)
    if request.method == 'POST':
        payment_shipment = PaymentShipment(request.POST)
    else:
        payment = cart.payment
        shipment = cart.shipment
        if payment and shipment:
            payment_shipment = PaymentShipment({
                'payment': payment,
                'shipment': shipment
            })
        else:
            payment_shipment = PaymentShipment()

    if payment_shipment.is_valid():
        valid_payment = payment_shipment.cleaned_data['payment']
        valid_shipment = payment_shipment.cleaned_data['shipment']
        cart.set_payment(valid_payment)
        cart.set_shipment(valid_shipment)

    return render_to_response('orders/show_cart.html', {
        'object_list': cart.full_list(),
        'payment_shipment': payment_shipment,
        'shipment_price': cart.shipment_cost,
        'total_cost': cart.total_cost,
    },
                              context_instance=RequestContext(request))
Пример #16
0
def checkout(request):
    """checkout process"""
    cart = Cart(request)
    if request.method == 'POST':
        form = UserInfoForm(request.POST, instance=request.user.userinfo)
        if form.is_valid():
            form.save()
            order_total = cart.get_total_price()
            get_order = Order.objects.create(paid=False,
                                             total_price=order_total)
            get_userinfo = UserInfo.objects.get(user=request.user)
            get_order.user_info = get_userinfo
            get_order.save()
            for item in cart:
                create_item = OrderItem.objects.create(
                    order=get_order,
                    product=item['product'],
                    price=item['price'],
                    quantity=item['quantity'],
                )
                cart.stock_management(item['product'], item['quantity'])
            cart.clear()
            return redirect('home:dashboard')

    form = UserInfoForm(instance=request.user.userinfo)
    context = {
        'form': form,
    }
    return render(request, 'orders/checkout.html', context)
Пример #17
0
def cart_show(request):
    cart = Cart(request)
    if request.method == 'POST':
        payment_shipment = PaymentShipment(request.POST)
    else:
        payment = cart.payment
        shipment = cart.shipment
        if payment and shipment:
            payment_shipment = PaymentShipment({'payment':payment, 'shipment':shipment})
        else:
            payment_shipment = PaymentShipment()


    if payment_shipment.is_valid():
        valid_payment = payment_shipment.cleaned_data['payment']
        valid_shipment = payment_shipment.cleaned_data['shipment']
        cart.set_payment(valid_payment)
        cart.set_shipment(valid_shipment)
        
    return render_to_response('orders/show_cart.html', {
        'object_list': cart.full_list(),
        'payment_shipment': payment_shipment,
        'shipment_price': cart.shipment_cost,
        'total_cost': cart.total_cost,
        }, context_instance=RequestContext(request))
Пример #18
0
 def post(self, request, *args, **kwargs):
     cart = Cart(self.request)
     research = cart.cart.cartitem_set.all()
     FormSet = forms.formset_factory(CartResearchForm, max_num=len(research))
     formset = FormSet(request.POST or None)
     get_forms = self.get_forms()
     if formset.is_valid() and self.are_forms_valid(get_forms):
         self.form_valid(formset)
         return self.forms_valid(get_forms)
     elif not self.are_forms_valid(get_forms):
         return self.forms_invalid(get_forms)
     else:
         return self.form_invalid(formset)
Пример #19
0
def getting_cartinfo(request):
    cart = Cart(request)
    cart_len = len(cart)

    for item in cart.cart.values():
        item['cost'] = int(item['cost'])

    context = {
        'cart': cart,
        'cart_len': cart_len,
    }

    return context
Пример #20
0
def remove_from_cart(request, product_id):
    """remove cart item"""
    cart = Cart(request)
    product_object = get_object_or_404(Product, id=product_id)
    if request.method == 'POST':
        cart.remove(product_object)
        cart.save_session()
    return redirect('orders:cart')
Пример #21
0
    def form_valid(self, form):
        success_message = '<span class="font-weight-bold">"%s"</span>, по цене <span class="text-nowrap font-weight-bold">%s руб.</span><br />' % (
            model_instance.research.title, model_instance.price)
        cart = Cart(self.request)

        cart_item = form.save(commit=False)
        cart_item.research = Research.objects.get(slug=self.kwargs['slug'])
        cart_item.cart = cart
        cart_item.save()

        if cart.add(cart_item):
            messages.add_message(self.request, 50, success_message)
        else:
            messages.add_message(self.request, 60,
                                 'Исследование уже в корзине')

        # if self.request.user.is_authenticated:
        #     cart = Cart.objects.get(client__user=self.request.user)
        #     try:
        #         CartItem.objects.get(research=model_instance.research, cart=cart)
        #         messages.add_message(self.request, 60, 'Исследование уже в корзине')
        #     except:
        #         model_instance.cart = Cart.objects.get(client__user=self.request.user)
        #         model_instance.save()
        #
        #         messages.add_message(self.request, 50, success_message)
        # else:
        #
        #     for item in Cart(self.request):
        #         if item.get_product() in CartItem.objects.filter(research=model_instance.research):
        #             messages.add_message(self.request, 60, 'Исследование уже в корзине')
        #             break
        #     else:
        #         model_instance.save()
        #         cart = Cart(self.request)
        #         cart.add(model_instance, model_instance.price)
        #         messages.add_message(self.request, 50, success_message)
        return HttpResponseRedirect(self.get_success_url())
Пример #22
0
    def form_valid(self, form):
        if self.request.user.is_authenticated:
            client = Client.objects.get(user=self.request.user)
            Order.objects.create(client=client)
        else:
            Order.objects.create()
        order = Order.objects.latest()
        for item in form:
            order_cart = item.save(commit=False)
            order_cart.order = order
            order_cart.save()

        Cart(self.request).clear()
        return super().form_valid(form)
Пример #23
0
def cart_add(request, slug):
    product = get_object_or_404(Product, slug=slug)
    quantity = request.GET.get('quantity', False)
    cart = Cart(request)
    if quantity:
        cart.add([product.pk for i in range(0, int(quantity))])
    else:
        cart.add(product)
    create_message(request, _("Product %s added") % product.name)
    return conditional_redirect(request, reverse('show_cart'))
Пример #24
0
def product(request, category_slug, subcategory_slug, product_slug):
    cart = Cart(request)
    category = get_object_or_404(Category, slug=category_slug)
    subcategory = get_object_or_404(SubCategory, slug=subcategory_slug)
    product = get_object_or_404(Product, slug=product_slug, is_active=True)
    images = get_list_or_404(Image, product=product)
    cars = Car.objects.filter(products__in=[product])
    similar = Product.objects.filter(is_active=True)
    similar = similar.filter(
        Q(cars__in=cars) | Q(subcategory=subcategory)
        | Q(category=category)).distinct()
    similar = similar.exclude(name=product.name)
    if len(similar) > 8:
        similar = similar[:8]

    if str(product.id) in cart.cart:
        product_in_cart = True
    else:
        product_in_cart = False

    product_cars = ''
    for car in cars:
        product_cars += str(car) + ', '
    product_cars = product_cars[:-2]

    context = {
        'category': category,
        'subcategory': subcategory,
        'product': product,
        'images': images,
        'product_in_cart': product_in_cart,
        'similar': similar,
        'product_cars': product_cars,
    }

    return render(request, 'shop/product_detail.html', context)
def shopping_cart(request):
    c = Cart(request)
    return {'cart': c, 'cdebug': request.session.get('cart_new', 0)}
Пример #26
0
 def remove_from_cart(self, request, **kwargs):
     research = Research.objects.get(slug=self.request.GET.get('remove_from_cart'))
     cart = Cart(self.request)
     cart.remove(research)
Пример #27
0
def cart_remove(request, slug):
    product = get_object_or_404(Product, slug=slug)
    cart = Cart(request)
    cart.remove(product)
    return conditional_redirect(request, reverse('show_cart'))
Пример #28
0
def place_order(request):
    if request.method == 'POST':
        cart = Cart(request)
        discount = CodeValidator(request, cart)
        prev_orders_count = Order.objects.filter(user=request.user).count()
        if not cart.is_valid():
            return conditional_redirect(request, reverse('show_cart'))
        customer = request.user.get_profile()
        if not customer.shipping_address():
            create_message(request, _("You haven't chosen shipping address."))
            return conditional_redirect(request, reverse('profile_address'))
    else:
        return conditional_redirect(request, reverse('show_cart'))

    if cart.shipping_address is not None:
        shipping_addr = Address.published.get(pk=cart.shipping_address)
    else:
        shipping_addr = request.user.get_profile().shipping_address()
        #shipping_addr = Address.published.get(customer=request.user.get_profile(), is_shipping=True)

    if cart.billing_address is not None:
        billing_addr = Address.published.get(pk=cart.billing_address)
    else:
        billing_addr = request.user.get_profile().billing_address()
        #billing_addr = Address.published.get(Q(customer=request.user.get_profile()), Q(is_billing=True) | Q(is_shipping=True))

    now = datetime.datetime.now()
    try:
        last_order = Order.objects.filter(user=request.user)[-1]
    except:
        last_order = None
    if last_order:
        diff = now - last_order.created
        if diff.seconds <= ORDER_TIME_DELTA:
            create_message(request, _("Your order has already been filled"))
            return conditional_redirect(request, '/')

    new_order = Order(name=str(request.user.email) + "-" +
                      str(prev_orders_count),
                      price=str(cart.total_cost),
                      discount=str(discount.calculated_amount),
                      user=request.user,
                      shipping_price=str(cart.shipment_cost),
                      shipping_address=shipping_addr,
                      billing_address=billing_addr,
                      payment_type=str(cart.payment),
                      shipment_type=cart.shipment,
                      is_gift=False)
    new_order.save()

    if discount.partner and discount.partner.is_active:
        from resellers.utils import log_order
        log_order(discount.partner, new_order)

    discount.kill()

    for item in cart.full_list():
        ordered_item = OrderedItem(order=new_order,
                                   user=request.user,
                                   product=item,
                                   price=item.price,
                                   quantity=item.cart_quantity,
                                   description=item.name)
        ordered_item.save()
    payment = cart.payment
    order_name = str(request.user.email) + "-" + str(prev_orders_count)
    cart.flush()
    # email notification
    subject = "Biolander otrzymał Twoje zamówienie!"
    #subject = _("New order: %s" % new_order.name)
    # Email subject *must not* contain newlines
    subject = ''.join(subject.splitlines())
    email_billing = new_order.billing_address
    email_shipping = new_order.shipping_address
    message = render_to_string('email/place_order.html', {
        'order': new_order,
        'billing': email_billing,
        'shipping': email_shipping,
    })
    staff_msg = render_to_string('email/admin_new_order.html', {
        'order': new_order,
        'billing': email_billing,
        'shipping': email_shipping,
    })

    from django.conf import settings
    send_mail(subject, message, settings.DEFAULT_FROM_EMAIL,
              [new_order.user.email])
    send_mail('Nowe zamówienie: %s' % new_order.name, staff_msg,
              settings.DEFAULT_FROM_EMAIL, settings.SHOP_STAFF_EMAILS)
    # has to be here to avoid circular dependencies
    from orders.dotpay import ProcessPayment
    payment = ProcessPayment(request, new_order)
    return payment.process()
Пример #29
0
def checkout(request):
    cart = Cart(request)
    discount = CodeValidator(request, cart)
    if not cart.is_valid():
        return conditional_redirect(request, reverse('show_cart'))

    if request.method == 'POST':
        try:
            if request.POST['type'] == 'billing':
                cart.billing_address = request.POST['address']
                cart.refresh()
            elif request.POST['type'] == 'shipping':
                cart.shipping_address = request.POST['address']
                cart.refresh()
        except:
            pass

    if cart.shipping_address is not None:
        shipping_addr = Address.published.get(pk=cart.shipping_address)
        if shipping_addr.customer != request.user.get_profile():
            cart.flush()
            return conditional_redirect(request, '/')
    else:
        shipping_addr = request.user.get_profile().shipping_address()
        #shipping_addr = Address.published.get(customer=request.user.get_profile(), is_shipping=True)

    if cart.billing_address is not None:
        billing_addr = Address.published.get(pk=cart.billing_address)
        if billing_addr.customer != request.user.get_profile():
            cart.flush()
            return conditional_redirect(request, '/')
    else:
        billing_addr = request.user.get_profile().billing_address()
        #billing_addr = Address.published.get(Q(customer=request.user.get_profile()), Q(is_billing=True) | Q(is_shipping=True))

    return render_to_response('orders/checkout.html', {
        'object_list': cart.full_list(),
        'shipping_address': shipping_addr,
        'billing_address': billing_addr,
        'discount': discount,
    },
                              context_instance=RequestContext(request))
Пример #30
0
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        context['cart'] = Cart(self.request)
        context['date_order'] = Order.objects.all().last()
        return context
Пример #31
0
def checkout(request):
    cart = Cart(request)
    discount = CodeValidator(request, cart)
    if not cart.is_valid():
        return conditional_redirect(request, reverse('show_cart'))
    
    if request.method == 'POST':
        try:
            if request.POST['type'] == 'billing':
                cart.billing_address = request.POST['address']
                cart.refresh()
            elif request.POST['type'] == 'shipping':
                cart.shipping_address = request.POST['address']
                cart.refresh()
        except:
            pass

    if cart.shipping_address is not None:
        shipping_addr = Address.published.get(pk=cart.shipping_address)
        if shipping_addr.customer != request.user.get_profile():
            cart.flush()
            return conditional_redirect(request, '/')
    else:
        shipping_addr = request.user.get_profile().shipping_address()
        #shipping_addr = Address.published.get(customer=request.user.get_profile(), is_shipping=True)

    if cart.billing_address is not None:
        billing_addr = Address.published.get(pk=cart.billing_address)
        if billing_addr.customer != request.user.get_profile():
            cart.flush()
            return conditional_redirect(request, '/')
    else:
        billing_addr = request.user.get_profile().billing_address()
        #billing_addr = Address.published.get(Q(customer=request.user.get_profile()), Q(is_billing=True) | Q(is_shipping=True))

    return render_to_response('orders/checkout.html', {
        'object_list': cart.full_list(),
        'shipping_address': shipping_addr,
        'billing_address': billing_addr,
        'discount': discount,
        }, context_instance=RequestContext(request))
Пример #32
0
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        context['cart'] = Cart(self.request)
        return context
Пример #33
0
def cart(request):
    return {'cart': Cart(request)}
Пример #34
0
def cart_remove(request, slug):
    product = get_object_or_404(Product, slug=slug)
    cart = Cart(request)
    cart.remove(product)
    return conditional_redirect(request, reverse('show_cart'))
Пример #35
0
def place_order(request):
    if request.method == 'POST':
        cart = Cart(request)
        discount = CodeValidator(request, cart)
        prev_orders_count = Order.objects.filter(user=request.user).count()
        if not cart.is_valid():
            return conditional_redirect(request, reverse('show_cart'))
        customer = request.user.get_profile()
        if not customer.shipping_address():
            create_message(request, _("You haven't chosen shipping address."))
            return conditional_redirect(request, reverse('profile_address'))
    else:
        return conditional_redirect(request, reverse('show_cart'))

    if cart.shipping_address is not None:
        shipping_addr = Address.published.get(pk=cart.shipping_address)
    else:
        shipping_addr = request.user.get_profile().shipping_address()
        #shipping_addr = Address.published.get(customer=request.user.get_profile(), is_shipping=True)

    if cart.billing_address is not None:
        billing_addr = Address.published.get(pk=cart.billing_address)
    else:
        billing_addr = request.user.get_profile().billing_address()
        #billing_addr = Address.published.get(Q(customer=request.user.get_profile()), Q(is_billing=True) | Q(is_shipping=True))

    now = datetime.datetime.now()
    try:
        last_order = Order.objects.filter(user=request.user)[-1]
    except:
        last_order = None
    if last_order:
        diff = now - last_order.created
        if diff.seconds <= ORDER_TIME_DELTA:
            create_message(request, _("Your order has already been filled"))
            return conditional_redirect(request, '/')

    new_order = Order(name = str(request.user.email)+"-"+str(prev_orders_count),
            price = str(cart.total_cost), discount = str(discount.calculated_amount), user=request.user, shipping_price = str(cart.shipment_cost),
            shipping_address=shipping_addr, billing_address=billing_addr,
            payment_type=str(cart.payment), shipment_type=cart.shipment, is_gift = False)
    new_order.save()

    if discount.partner and discount.partner.is_active:
        from resellers.utils import log_order
        log_order(discount.partner, new_order)

    discount.kill()

    for item in cart.full_list():
        ordered_item = OrderedItem(order=new_order, user=request.user, product=item, price=item.price, quantity=item.cart_quantity, description=item.name)
        ordered_item.save()
    payment = cart.payment
    order_name = str(request.user.email)+"-"+str(prev_orders_count)
    cart.flush()
    # email notification
    subject = "Biolander otrzymał Twoje zamówienie!"
    #subject = _("New order: %s" % new_order.name)
    # Email subject *must not* contain newlines
    subject = ''.join(subject.splitlines())
    email_billing = new_order.billing_address
    email_shipping = new_order.shipping_address
    message = render_to_string('email/place_order.html', {
        'order': new_order,
        'billing': email_billing,
        'shipping': email_shipping,
        })
    staff_msg = render_to_string('email/admin_new_order.html', {
        'order': new_order,
        'billing': email_billing,
        'shipping': email_shipping,
        })

    from django.conf import settings
    send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [new_order.user.email])
    send_mail('Nowe zamówienie: %s' % new_order.name, staff_msg, settings.DEFAULT_FROM_EMAIL, settings.SHOP_STAFF_EMAILS)
    # has to be here to avoid circular dependencies
    from orders.dotpay import ProcessPayment
    payment = ProcessPayment(request, new_order)
    return payment.process()
Пример #36
0
def logout_user(request):
  request.session['new_cart'] = None
  cart = Cart(request)
  cart.flush()
  logout(request)
  return render_to_response('customers/logout.html', context_instance=RequestContext(request))