Subversion Repositories SmartDukaan

Rev

Rev 17789 | Rev 17798 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 17789 Rev 17797
Line 781... Line 781...
781
            
781
            
782
        for line in found_cart.lines:
782
        for line in found_cart.lines:
783
            if itemQtyMap.has_key(line.item_id):
783
            if itemQtyMap.has_key(line.item_id):
784
                line.delete()
784
                line.delete()
785
        for itemId,qty in itemQtyMap.iteritems():
785
        for itemId,qty in itemQtyMap.iteritems():
-
 
786
            #This condition will ensure that cart is only persisted with non-zero quantities.
-
 
787
            if qty==0:
-
 
788
                continue
786
            line = Line()
789
            line = Line()
787
            line.cart = found_cart
790
            line.cart = found_cart
788
            line.item_id = itemId
791
            line.item_id = itemId
789
            line.quantity = qty
792
            line.quantity = qty
790
            line.created_on = current_time
793
            line.created_on = current_time
Line 836... Line 839...
836
        dealItems = deals.keys()
839
        dealItems = deals.keys()
837
 
840
 
838
    cart.total_price = 0
841
    cart.total_price = 0
839
    itemsMap = inventory_client.getItems(itemIds)
842
    itemsMap = inventory_client.getItems(itemIds)
840
    
843
    
841
    cartMessageChanged=False
844
    cartMessageChanged = 0
842
    cartMessageOOS = False
845
    cartMessageOOS = 0
843
    cartMessageUndeliverable=False
846
    cartMessageUndeliverable = 0
844
    
847
    
845
    for line in cart_lines:
848
    for line in cart_lines:
846
        cartItem={}
849
        cartItem={}
847
        
850
        
848
        old_estimate = line.estimate
851
        old_estimate = line.estimate
Line 857... Line 860...
857
        
860
        
858
        item_shipping_info = inventory_client.isActive(item_id) 
861
        item_shipping_info = inventory_client.isActive(item_id) 
859
        if item_shipping_info.isActive:
862
        if item_shipping_info.isActive:
860
            if item_shipping_info.isRisky and item_shipping_info.quantity < line.quantity:
863
            if item_shipping_info.isRisky and item_shipping_info.quantity < line.quantity:
861
                line.quantity = item_shipping_info.quantity
864
                line.quantity = item_shipping_info.quantity
862
                if not cartMessageChanged:
-
 
863
                    cartMessages.append({"type":"failed", "messageText":"Qty for few items have changed"})
865
                    #cartMessages.append({"type":"failed", "messageText":"Qty for few items have changed"})
864
                    cartMessageChanged = True
866
                cartMessageChanged += 1
865
                cartItemMessages.append({"type":"failed", "messageText":"Only " + str(item_shipping_info.quantity) + " available"})
867
                cartItemMessages.append({"type":"failed", "messageText":"Only " + str(item_shipping_info.quantity) + " available"})
866
            
868
            
867
            cartItem['maxQuantity'] = min(item_shipping_info.quantity, 20)
869
            cartItem['maxQuantity'] = min(item_shipping_info.quantity, 20)
868
            
870
            
869
            if item_id in dealItems:
871
            if item_id in dealItems:
Line 924... Line 926...
924
                            pass
926
                            pass
925
                        print 'estimateVal Value ', estimateVal
927
                        print 'estimateVal Value ', estimateVal
926
            cartItem['estimate'] = item_delivery_estimate
928
            cartItem['estimate'] = item_delivery_estimate
927
            if item_delivery_estimate == -1:
929
            if item_delivery_estimate == -1:
928
                cartItem['quantity'] = 0
930
                cartItem['quantity'] = 0
929
                if not cartMessageUndeliverable:
-
 
930
                    cartMessages.append({"type":"failed", "messageText":"Few items are undeliverable to your pincode"})
931
                #cartMessages.append({"type":"failed", "messageText":"Few items are undeliverable."})
931
                    cartMessageUndeliverable = True
932
                cartMessageUndeliverable += True
932
                cartItemMessages.append({"type":"failed", "messageText":"Undeliverable"})
933
                cartItemMessages.append({"type":"failed", "messageText":"Undeliverable"})
933
            if old_estimate != item_delivery_estimate:
934
            if old_estimate != item_delivery_estimate:
934
                line.estimate = item_delivery_estimate
935
                line.estimate = item_delivery_estimate
935
                cart.updated_on = current_time
936
                cart.updated_on = current_time
936
        else:
937
        else:
937
            cartItem['quantity'] = 0
938
            cartItem['quantity'] = 0
938
            if not cartMessageOOS:
-
 
939
                cartMessages.append({"type":"failed", "messageText":"Few items are out of Stock"})
939
            #cartMessages.append({"type":"failed", "messageText":"Few items are out of Stock"})
940
                cartMessageOOS = True
940
            cartMessageOOS += 1
941
            cartItemMessages.append({"type":"failed", "messageText":"Out of Stock"})
941
            cartItemMessages.append({"type":"failed", "messageText":"Out of Stock"})
942
            Discount.query.filter(Discount.line==line).delete()
942
            Discount.query.filter(Discount.line==line).delete()
943
            line.delete()
943
            line.delete()
944
        totalQty += cartItem['quantity']
944
        totalQty += cartItem['quantity']
945
        totalAmount += line.actual_price * cartItem['quantity']
945
        totalAmount += line.actual_price * cartItem['quantity']
-
 
946
        if cartItemMessages:
-
 
947
            cartItems.insert(0, cartItem)
-
 
948
        else:
946
        cartItems.append(cartItem)
949
            cartItems.append(cartItem)
947
    if cart.checked_out_on is not None:
950
    if cart.checked_out_on is not None:
948
        if cart.updated_on > cart.checked_out_on:
951
        if cart.updated_on > cart.checked_out_on:
949
            cart.checked_out_on = None
952
            cart.checked_out_on = None
950
    session.commit()
953
    session.commit()
951
    
954
    
Line 979... Line 982...
979
    if totalAmount < 500:
982
    if totalAmount < 500:
980
        shippingCharges = 100
983
        shippingCharges = 100
981
    elif totalAmount < 1000:
984
    elif totalAmount < 1000:
982
        shippingCharges = 50
985
        shippingCharges = 50
983
    responseMap['shippingCharge']=shippingCharges
986
    responseMap['shippingCharge']=shippingCharges
-
 
987
    responseMap['cartMessageChanged'] = cartMessageChanged
-
 
988
    responseMap['cartMessageOOS'] = cartMessageOOS
-
 
989
    responseMap['cartMessageChanged'] = cartMessageUndeliverable
984
    return json.dumps(responseMap)
990
    return json.dumps(responseMap)
985
    
991
    
986
    
992
    
987
def validate_cart_plus(cart_id, source_id, couponCode):
993
def validate_cart_plus(cart_id, source_id, couponCode):
988
    try:
994
    try: