示例#1
0
def addToCart(request, id):
    if (not request.user.is_authenticated):
        context = {
            'message': '',
        }
        return HttpResponseRedirect(reverse('accounts:signin'), context)
    product = get_object_or_404(Product, id=id)
    products = Product.objects.exclude(id=id)
    oldCartInstance = models.CartItem.objects.filter(prod=product,
                                                     user=request.user,
                                                     bought=False)
    if (oldCartInstance.count()):
        if (oldCartInstance[0].prod.quantity > oldCartInstance[0].quantity):
            oldCartInstance.update(quantity=oldCartInstance[0].quantity + 1)
        else:
            cart_count = getcartc(request.user)
            context = {
                'product': product,
                'products': products,
                'cartc': cart_count,
            }
            return render(request, 'cart/cannotAdd.html', context)
    else:
        cartInstance = models.CartItem(prod=product, user=request.user)
        cartInstance.save()

    cart_count = getcartc(request.user)
    context = {
        'product': product,
        'products': products,
        'cartc': cart_count,
    }
    return render(request, 'cart/addToCart.html', context)
示例#2
0
def newSeller(request):
    if( request.user.is_authenticated ):
        cart_count = getcartc(request.user)
    else:
        cart_count = 0
    if( request.method == 'POST'):
        form = forms.NewSellerForm(request.POST)
        if( form.is_valid() ):
            if( request.user.is_authenticated ):
                instance = form.save(commit=False)
                instance.user = request.user
                instance.save()
            else:
                form.save()
            context = {
                'cartc': cart_count,
                'flag': 1,
                'form': forms.NewSellerForm(),
            }
            return render(request, 'seller/new.html', context)
    else:
        form = forms.NewSellerForm()
    context = {
        'cartc': cart_count,
        'form': form,

    }
    return render(request, 'seller/new.html', context)
示例#3
0
def about(request):
    if (request.user.is_authenticated):
        cart_count = getcartc(request.user)
    else:
        cart_count = 0
    context = {
        'cartc': cart_count,
    }
    return render(request, 'customer/about.html', context)
示例#4
0
def profiles(request):
    if( request.user.is_authenticated ):
        cart_count = getcartc(request.user)
    else:
        cart_count = 0
    sellers = models.Entrepreneur.objects.all()
    context = {
        'cartc': cart_count,
        'sellers': sellers,
    }
    return render(request, 'seller/profiles.html', context)
示例#5
0
def catalog(request):
    if (request.user.is_authenticated):
        cart_count = getcartc(request.user)
    else:
        cart_count = 0

    products = Product.objects.all()
    context = {
        'products': products,
        'cartc': cart_count,
    }
    return render(request, 'customer/catalog.html', context)
示例#6
0
def productDetail(request, id):
    product = models.Product.objects.filter(pk=id)
    if( request.user.is_authenticated ):
        cart_count = getcartc(request.user)
    else:
        cart_count = 0
    if(product.count()):
        context = {
            'product': product[0],
            'cartc': cart_count,
        }
    else:
        raise Http404("Product does not exist")
    return render(request, 'products/productDetail.html', context)
示例#7
0
def home(request):
    if (request.user.is_authenticated):
        cart_items = models.CartItem.objects.filter(user=request.user,
                                                    bought=False)
        cart_count = getcartc(request.user)
        # k.aggregate(k = Sum('quantity')*Sum('prod__price'))
        sum = 0
        for item in cart_items:
            sum = sum + item.quantity * item.prod.price
            print(sum)
        context = {
            'items': cart_items,
            'cartc': cart_count,
            'final_price': sum,
        }
    else:
        context = {
            'items': 0,
            'cartc': 0,
        }
    return render(request, 'cart/checkout.html', context)