Ejemplo n.º 1
0
def requestCurCart(request):
    cart = None
    user = None

    try:
        #gibt es schon einen warenkorb?
        cartid = request.session['cart_id']
        cart = Cart.objects.get(id=cartid,isOrdered=False)
        if request.user.is_authenticated(): #soll der warenkorb einem benutzer gehoeren?
            if not cart.user: # warenkorb hat keine besitzer (vorm login der fall)
                cart.user = request.user
                cart.save()
            if cart.user == request.user: #warenkorb gehoert der email-addy -> return
                return cart
        elif not cart.user:
            return cart # warenkorb gehoert niemandem
    except (KeyError, Cart.DoesNotExist): # es gibt keinen warenkorb
        if request.user.is_authenticated():
            user = request.user
            try:
                cart = Cart.objects.get(user=user,isActive=True,isOrdered=False)
                request.session['cart_id'] = cart.id
                return cart
            except:
                pass

    cart = Cart() # warenkorb erstellen
    if user: #soll korb einem benutzer gehoeren?
        cart.user = user
    cart.isActive = True
    cart.save()
    request.session['cart_id'] = cart.id # id in sesison speichern
    return cart