def add_cart_to_database(user, size, tshirt): size = SizeVariant.objects.get(size=size, tshirt=tshirt) existing = Cart.objects.filter(user=user, sizeVariant=size) if len(existing) > 0: obj = existing[0] obj.quantity = obj.quantity + 1 obj.save() else: c = Cart() c.user = user c.sizeVariant = size c.quantity = 1 c.save()
def post(self , request): add = request.session.get('plusItem') form = CustomerAuthForm(data=request.POST) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') user = authenticate(username=username, password=password) if user: loginuser(request, user) session_cart = request.session.get('cart') if session_cart is None: session_cart = [] else: for c in session_cart: size = c.get('size') tshirt_id = c.get('tshirt') quantity = c.get('quantity')+1 cart_obj = Cart() cart_obj.sizeVariant = SizeVariant.objects.get( size=size, tshirt=tshirt_id) cart_obj.quantity = quantity cart_obj.user = user cart_obj.save() # { size , tshirt , quantiti } cart = Cart.objects.filter(user=user) session_cart = [] for c in cart: obj = { 'size': c.sizeVariant.size, 'tshirt': c.sizeVariant.tshirt.id, 'quantity': c.quantity } session_cart.append(obj) request.session['cart'] = session_cart next_page = request.session.get('next_page') if next_page is None: next_page = 'homepage' return redirect(next_page) else: return render(request, template_name='login.html', context={'form': form})