Subversion Repositories SmartDukaan

Rev

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

Rev 9567 Rev 9574
Line 357... Line 357...
357
    session.commit()
357
    session.commit()
358
    
358
    
359
    try:
359
    try:
360
        order_client = TransactionClient().get_client()
360
        order_client = TransactionClient().get_client()
361
        order = order_client.getOrder(order_id)
361
        order = order_client.getOrder(order_id)
-
 
362
        if order.source:
362
        holdInventoryDetail = HoldInventoryDetail.query.filter_by(item_id = item_id, warehouse_id = warehouse_id, source = order.source).first()
363
            holdInventoryDetail = HoldInventoryDetail.query.filter_by(item_id = item_id, warehouse_id = warehouse_id, source = order.source).first()
363
        if holdInventoryDetail is not None and holdInventoryDetail.held>0:
364
            if holdInventoryDetail is not None and holdInventoryDetail.held>0:
364
            previousHeld = holdInventoryDetail.held
365
                previousHeld = holdInventoryDetail.held
365
            holdInventoryDetail.held = max(0, holdInventoryDetail.held -quantity)
366
                holdInventoryDetail.held = max(0, holdInventoryDetail.held -quantity)
366
            diff = previousHeld-holdInventoryDetail.held 
367
                diff = previousHeld-holdInventoryDetail.held 
367
            current_inventory_snapshot = CurrentInventorySnapshot.get_by(item_id=item_id, warehouse_id=warehouse_id)
368
                current_inventory_snapshot = CurrentInventorySnapshot.get_by(item_id=item_id, warehouse_id=warehouse_id)
368
            if current_inventory_snapshot is not None:
369
                if current_inventory_snapshot is not None:
369
                current_inventory_snapshot.held = max(0, current_inventory_snapshot.held - diff)
370
                    current_inventory_snapshot.held = max(0, current_inventory_snapshot.held - diff)
370
            session.commit()
371
                session.commit()
371
    except:
372
    except:
372
        print "Unable to release hold Inventory for item_id " + str(item_id) + " warehouse_id " + str(warehouse_id) + " source " + str(source_id)
373
        print "Unable to release hold Inventory for item_id " + str(item_id) + " warehouse_id " + str(warehouse_id) + " source " + str(source_id)
373
    #session.commit()
374
    #session.commit()
374
    #**Update item availability cache**#
375
    #**Update item availability cache**#
375
    clear_item_availability_cache(item_id)
376
    clear_item_availability_cache(item_id)
Line 404... Line 405...
404
    new_reservation.reserved = quantity
405
    new_reservation.reserved = quantity
405
    
406
    
406
    try:
407
    try:
407
        order_client = TransactionClient().get_client()
408
        order_client = TransactionClient().get_client()
408
        order = order_client.getOrder(order_id)
409
        order = order_client.getOrder(order_id)
-
 
410
        if order.source:
409
        holdInventoryDetail = HoldInventoryDetail.query.filter_by(item_id = item_id, warehouse_id = warehouse_id, source = order.source).first()
411
            holdInventoryDetail = HoldInventoryDetail.query.filter_by(item_id = item_id, warehouse_id = warehouse_id, source = order.source).first()
410
        if holdInventoryDetail is not None and holdInventoryDetail.held>0:
412
            if holdInventoryDetail is not None and holdInventoryDetail.held>0:
411
            previousHeld = holdInventoryDetail.held
413
                previousHeld = holdInventoryDetail.held
412
            holdInventoryDetail.held = max(0, holdInventoryDetail.held -quantity)
414
                holdInventoryDetail.held = max(0, holdInventoryDetail.held -quantity)
413
            diff = previousHeld-holdInventoryDetail.held 
415
                diff = previousHeld-holdInventoryDetail.held 
414
            current_inventory_snapshot = CurrentInventorySnapshot.get_by(item_id=item_id, warehouse_id=warehouse_id)
416
                current_inventory_snapshot = CurrentInventorySnapshot.get_by(item_id=item_id, warehouse_id=warehouse_id)
415
            if current_inventory_snapshot is not None:
417
                if current_inventory_snapshot is not None:
416
                current_inventory_snapshot.held = max(0, current_inventory_snapshot.held - diff)
418
                    current_inventory_snapshot.held = max(0, current_inventory_snapshot.held - diff)
417
            session.commit()
419
                session.commit()
418
    except:
420
    except:
419
        print "Unable to release hold Inventory for item_id " + str(item_id) + " warehouse_id " + str(warehouse_id) + " source " + str(source_id)
421
        print "Unable to release hold Inventory for item_id " + str(item_id) + " warehouse_id " + str(warehouse_id) + " source " + str(source_id)
420
    
422
    
421
    order_client = TransactionClient().get_client()
423
    order_client = TransactionClient().get_client()
422
    order = order_client.getOrder(order_id)
424
    order = order_client.getOrder(order_id)