Subversion Repositories SmartDukaan

Rev

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

Rev 5434 Rev 5555
Line 169... Line 169...
169
    
169
    
170
    cart.address_id = address_id
170
    cart.address_id = address_id
171
    current_time = datetime.datetime.now()
171
    current_time = datetime.datetime.now()
172
    #cart.updated_on = current_time
172
    #cart.updated_on = current_time
173
    session.commit()
173
    session.commit()
-
 
174
 
-
 
175
def add_store_to_cart(cartId, storeId):
-
 
176
    if not cartId:
-
 
177
        raise ShoppingCartException(101, "cart id cannot be made null")
-
 
178
    
-
 
179
    cart = get_cart_by_id(cartId)
-
 
180
    if not cart:
-
 
181
        raise ShoppingCartException(101, "no cart for this id")
-
 
182
    
-
 
183
    if storeId:
-
 
184
        cart.pickupStoreId = storeId
-
 
185
    else:
-
 
186
        cart.pickupStoreId = None
-
 
187
        
-
 
188
    session.commit()
174
    
189
    
175
def apply_coupon_to_cart(cart_id, coupon_code, total_price, discounted_price):
190
def apply_coupon_to_cart(cart_id, coupon_code, total_price, discounted_price):
176
    cart = get_cart_by_id(cart_id)
191
    cart = get_cart_by_id(cart_id)
177
    if not cart:
192
    if not cart:
178
        raise ShoppingCartException(101, "no cart attached to this id")
193
        raise ShoppingCartException(101, "no cart attached to this id")
Line 228... Line 243...
228
        
243
        
229
            for discount in line.discounts:
244
            for discount in line.discounts:
230
                i = 0
245
                i = 0
231
                while i < discount.quantity:
246
                while i < discount.quantity:
232
                    t_line_item = create_line_item(line.item_id, line.actual_price - discount.discount)
247
                    t_line_item = create_line_item(line.item_id, line.actual_price - discount.discount)
233
                    t_order = create_order(userId, cart.address_id, t_line_item)
248
                    t_order = create_order(userId, cart.address_id, t_line_item, cart.pickupStoreId)
234
                    orders.append(t_order)
249
                    orders.append(t_order)
235
                    i += 1
250
                    i += 1
236
                quantity_remaining_for_order -= discount.quantity
251
                quantity_remaining_for_order -= discount.quantity
237
            
252
            
238
            i = 0
253
            i = 0
Line 241... Line 256...
241
                t_order = create_order(userId, cart.address_id, t_line_item)
256
                t_order = create_order(userId, cart.address_id, t_line_item)
242
                orders.append(t_order)
257
                orders.append(t_order)
243
                i += 1
258
                i += 1
244
    return orders
259
    return orders
245
 
260
 
246
def create_order(userId, address_id, t_line_item):
261
def create_order(userId, address_id, t_line_item, pickupStoreId):
247
    user = User.get_by(id=userId)
262
    user = User.get_by(id=userId)
248
    address = Address.get_by(id=address_id)
263
    address = Address.get_by(id=address_id)
249
    t_order = TOrder()
264
    t_order = TOrder()
250
    
265
    
251
    t_order.customer_id = user.id
266
    t_order.customer_id = user.id
Line 266... Line 281...
266
    
281
    
267
    t_order.status = OrderStatus.PAYMENT_PENDING
282
    t_order.status = OrderStatus.PAYMENT_PENDING
268
    t_order.statusDescription = "Payment Pending"
283
    t_order.statusDescription = "Payment Pending"
269
    t_order.created_timestamp = to_java_date(datetime.datetime.now())
284
    t_order.created_timestamp = to_java_date(datetime.datetime.now())
270
    
285
    
-
 
286
    t_order.pickupStoreId = pickupStoreId 
271
    return t_order
287
    return t_order
272
        
288
        
273
def create_line_item(item_id, final_price, quantity=1):
289
def create_line_item(item_id, final_price, quantity=1):
274
    inventory_client = CatalogClient().get_client()
290
    inventory_client = CatalogClient().get_client()
275
    item = inventory_client.getItem(item_id)
291
    item = inventory_client.getItem(item_id)