Subversion Repositories SmartDukaan

Rev

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

Rev 6734 Rev 6735
Line 2144... Line 2144...
2144
        new_order = __clone_order(order, True, order.cod)
2144
        new_order = __clone_order(order, True, order.cod)
2145
        order.status = OrderStatus.RTO_RESHIPPED
2145
        order.status = OrderStatus.RTO_RESHIPPED
2146
        order.statusDescription = "Order Reshipped"
2146
        order.statusDescription = "Order Reshipped"
2147
        session.commit()
2147
        session.commit()
2148
        update_trust_level(order)
2148
        update_trust_level(order)
-
 
2149
        __scan_for_reship_order(order_id, new_order)
2149
    elif order.status == OrderStatus.RTO_RECEIVED_DAMAGED:
2150
    elif order.status == OrderStatus.RTO_RECEIVED_DAMAGED:
2150
        new_order = __clone_order(order, False, order.cod)
2151
        new_order = __clone_order(order, False, order.cod)
2151
        ret_order = __create_return_order(order)
2152
        ret_order = __create_return_order(order)
2152
        order.status = OrderStatus.RTO_DAMAGED_RESHIPPED
2153
        order.status = OrderStatus.RTO_DAMAGED_RESHIPPED
2153
        order.statusDescription = "Order Reshipped Received Damaged"
2154
        order.statusDescription = "Order Reshipped Received Damaged"
Line 2165... Line 2166...
2165
    elif order.status == OrderStatus.DOA_CERT_INVALID:
2166
    elif order.status == OrderStatus.DOA_CERT_INVALID:
2166
        new_order = __clone_order(order, True, False)
2167
        new_order = __clone_order(order, True, False)
2167
        order.status = OrderStatus.DOA_INVALID_RESHIPPED
2168
        order.status = OrderStatus.DOA_INVALID_RESHIPPED
2168
        order.statusDescription = "Order Reshipped"
2169
        order.statusDescription = "Order Reshipped"
2169
        session.commit()
2170
        session.commit()
2170
        warehouseClient = WarehouseClient().get_client()
2171
        __scan_for_reship_order(order_id, new_order)
2171
        inventoryItem = warehouseClient.getInventoryItemFromOrder(order_id)
-
 
2172
        warehouseClient.scanForOrder(inventoryItem, ScanType.SALE, new_order.lineitems[0].quantity, new_order.id, new_order.fulfilmentWarehouseId, new_order.warehouse_id)
-
 
2173
    elif order.status == OrderStatus.DOA_CERT_VALID:
2172
    elif order.status == OrderStatus.DOA_CERT_VALID:
2174
        new_order = __clone_order(order, False, False)
2173
        new_order = __clone_order(order, False, False)
2175
        ret_order = __create_return_order(order)
2174
        ret_order = __create_return_order(order)
2176
        order.status = OrderStatus.DOA_VALID_RESHIPPED
2175
        order.status = OrderStatus.DOA_VALID_RESHIPPED
2177
        order.statusDescription = "Order Reshipped"
2176
        order.statusDescription = "Order Reshipped"
Line 2190... Line 2189...
2190
    elif order.status == OrderStatus.RET_PRODUCT_USABLE:
2189
    elif order.status == OrderStatus.RET_PRODUCT_USABLE:
2191
        new_order = __clone_order(order, False, False)
2190
        new_order = __clone_order(order, False, False)
2192
        order.status = OrderStatus.RET_PRODUCT_USABLE_RESHIPPED
2191
        order.status = OrderStatus.RET_PRODUCT_USABLE_RESHIPPED
2193
        order.statusDescription = "Order Reshipped"
2192
        order.statusDescription = "Order Reshipped"
2194
        session.commit()
2193
        session.commit()
-
 
2194
        __scan_for_reship_order(order_id, new_order)
2195
    elif order.status == OrderStatus.RET_PRODUCT_UNUSABLE:
2195
    elif order.status == OrderStatus.RET_PRODUCT_UNUSABLE:
2196
        new_order = __clone_order(order, False, False)
2196
        new_order = __clone_order(order, False, False)
2197
        ret_order = __create_return_order(order)
2197
        ret_order = __create_return_order(order)
2198
        order.status = OrderStatus.RET_PRODUCT_UNUSABLE_RESHIPPED
2198
        order.status = OrderStatus.RET_PRODUCT_UNUSABLE_RESHIPPED
2199
        order.statusDescription = "Order Reshipped"
2199
        order.statusDescription = "Order Reshipped"
Line 2216... Line 2216...
2216
    order.new_order_id = new_order.id
2216
    order.new_order_id = new_order.id
2217
    session.commit()
2217
    session.commit()
2218
    
2218
    
2219
    return new_order.id
2219
    return new_order.id
2220
 
2220
 
-
 
2221
def __scan_for_reship_order(order_id, new_order):
-
 
2222
    inventoryClient = InventoryClient().get_client()
-
 
2223
    warehouse = inventoryClient.getWarehouse(new_order.warehouse_id)
-
 
2224
    if warehouse.billingType == BillingType.OURS:
-
 
2225
        warehouseClient = WarehouseClient().get_client()
-
 
2226
        inventoryItem = warehouseClient.getInventoryItemFromOrder(order_id)
-
 
2227
        warehouseClient.scanForOrder(inventoryItem, ScanType.SALE, new_order.lineitems[0].quantity, new_order.id, new_order.fulfilmentWarehouseId, new_order.warehouse_id)
-
 
2228
    
2221
def refund_order(order_id, refunded_by, reason):
2229
def refund_order(order_id, refunded_by, reason):
2222
    """
2230
    """
2223
    If the order is in RTO_RECEIVED_PRESTINE, DOA_CERT_VALID or DOA_CERT_INVALID state, it does the following:
2231
    If the order is in RTO_RECEIVED_PRESTINE, DOA_CERT_VALID or DOA_CERT_INVALID state, it does the following:
2224
        1. Creates a refund request for batch processing.
2232
        1. Creates a refund request for batch processing.
2225
        2. Creates a return order for the warehouse executive to return the shipped material.
2233
        2. Creates a return order for the warehouse executive to return the shipped material.