Subversion Repositories SmartDukaan

Rev

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

Rev 22239 Rev 22301
Line 26... Line 26...
26
import json
26
import json
27
import math
27
import math
28
import traceback
28
import traceback
29
 
29
 
30
 
30
 
31
 
-
 
-
 
31
user_item_pricing_map = {}
32
 
32
 
33
def get_cart(userId):
33
def get_cart(userId):
34
    user = User.get_by(id=userId)
34
    user = User.get_by(id=userId)
35
    return user.active_cart
35
    return user.active_cart
36
 
36
 
Line 874... Line 874...
874
        address = Address.get_by(id=cart.address_id)
874
        address = Address.get_by(id=cart.address_id)
875
        if address:
875
        if address:
876
            customer_pincode = address.pin
876
            customer_pincode = address.pin
877
    
877
    
878
    
878
    
879
    inventory_client = CatalogClient().get_client()
879
    catalog_client = CatalogClient().get_client()
880
    logistics_client = LogisticsClient().get_client()
880
    logistics_client = LogisticsClient().get_client()
881
    promotion_client = PromotionClient().get_client()
881
    promotion_client = PromotionClient().get_client()
882
 
882
 
883
 
883
 
884
    
884
    
Line 896... Line 896...
896
    
896
    
897
    itemIds = [cartLine.item_id for cartLine in cart.lines]
897
    itemIds = [cartLine.item_id for cartLine in cart.lines]
898
    
898
    
899
    privateDealUser = PrivateDealUser.get_by(id=user.id)    
899
    privateDealUser = PrivateDealUser.get_by(id=user.id)    
900
    if privateDealUser is not None and privateDealUser.isActive:
900
    if privateDealUser is not None and privateDealUser.isActive:
901
        deals = inventory_client.getAllActivePrivateDeals(itemIds, 0)
901
        deals = catalog_client.getAllActivePrivateDeals(itemIds, 0)
902
        dealItems = deals.keys()
902
        dealItems = deals.keys()
903
        bulkPricingMap = inventory_client.getBulkPricingForItems(itemIds)
903
        bulkPricingMap = catalog_client.getBulkPricingForItems(itemIds)
904
        bulkPricingItems = bulkPricingMap.keys() 
904
        bulkPricingItems = bulkPricingMap.keys() 
905
 
905
 
906
    cart.total_price = 0
906
    cart.total_price = 0
907
    itemsMap = inventory_client.getItems(itemIds)
907
    itemsMap = catalog_client.getItems(itemIds)
908
    
908
    
909
    cartMessageChanged = 0
909
    cartMessageChanged = 0
910
    cartMessageOOS = 0
910
    cartMessageOOS = 0
911
    cartMessageUndeliverable = 0
911
    cartMessageUndeliverable = 0
912
    codAllowed = True
912
    codAllowed = True
Line 935... Line 935...
935
        cartItem['packQuantity'] = item.packQuantity
935
        cartItem['packQuantity'] = item.packQuantity
936
        cartItem['minBuyQuantity'] = item.minimumBuyQuantity
936
        cartItem['minBuyQuantity'] = item.minimumBuyQuantity
937
        cartItem['quantityStep'] = item.quantityStep
937
        cartItem['quantityStep'] = item.quantityStep
938
        cartItem['bulkPricing'] = tempBulkItemList
938
        cartItem['bulkPricing'] = tempBulkItemList
939
        
939
        
940
        item_shipping_info = inventory_client.isActive(item_id) 
940
        item_shipping_info = catalog_client.isActive(item_id) 
941
        if item_shipping_info.isActive:
941
        if item_shipping_info.isActive:
942
            if item_shipping_info.isRisky and item_shipping_info.quantity < line.quantity:
942
            if item_shipping_info.isRisky and item_shipping_info.quantity < line.quantity:
943
                line.quantity = item_shipping_info.quantity
943
                line.quantity = item_shipping_info.quantity
944
                itemQuantityChanged=True
944
                itemQuantityChanged=True
945
            cartItem['maxQuantity'] = min(item_shipping_info.quantity,100)
945
            cartItem['maxQuantity'] = min(item_shipping_info.quantity,100)
Line 962... Line 962...
962
        
962
        
963
        cartItem['quantity'] = line.quantity
963
        cartItem['quantity'] = line.quantity
964
        
964
        
965
        bulkPrice = None
965
        bulkPrice = None
966
        singleUnitPricing = False
966
        singleUnitPricing = False
967
        if item_id in bulkPricingItems:
967
        user_item_pricing = user_item_pricing_map.get(user.id)
-
 
968
        if item_id in bulkPricingItems and not (user_item_pricing and user_item_pricing.has_key(item_id)):
968
            #Check quantity qualifies or not
969
            #Check quantity qualifies or not
969
            bulkPricingList = bulkPricingMap.get(item_id)
970
            bulkPricingList = bulkPricingMap.get(item_id)
970
            bulkPricingList = sorted(bulkPricingList, key=lambda x: x.quantity, reverse=False)
971
            bulkPricingList = sorted(bulkPricingList, key=lambda x: x.quantity, reverse=False)
971
            for pricingItems in bulkPricingList:
972
            for pricingItems in bulkPricingList:
972
                if pricingItems.quantity ==1:
973
                if pricingItems.quantity ==1:
Line 978... Line 979...
978
        if item_id in dealItems:
979
        if item_id in dealItems:
979
            if not singleUnitPricing and item_id in bulkPricingItems:
980
            if not singleUnitPricing and item_id in bulkPricingItems:
980
                tempBulkItemList.append({'quantity':1,'price':deals[item_id].dealPrice})
981
                tempBulkItemList.append({'quantity':1,'price':deals[item_id].dealPrice})
981
            if bulkPrice is None:
982
            if bulkPrice is None:
982
                line.actual_price = deals[item_id].dealPrice
983
                line.actual_price = deals[item_id].dealPrice
-
 
984
                if user_item_pricing and user_item_pricing.has_key(item_id):
-
 
985
                    line.actual_price = user_item_pricing.get(item_id)
983
            else:
986
            else:
984
                line.actual_price = bulkPrice.price
987
                line.actual_price = bulkPrice.price
985
            if deals[item_id].dealTextOption==0:
988
            if deals[item_id].dealTextOption==0:
986
                line.dealText = ''
989
                line.dealText = ''
987
            if deals[item_id].dealTextOption==2:
990
            if deals[item_id].dealTextOption==2: