Subversion Repositories SmartDukaan

Rev

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

Rev 19722 Rev 19727
Line 2696... Line 2696...
2696
                if itemDOAWarrantyInfo.key()[0]=='M':
2696
                if itemDOAWarrantyInfo.key()[0]=='M':
2697
                    doaItemWarrantyVal = 30*itemDOAWarrantyInfo.values()[0]
2697
                    doaItemWarrantyVal = 30*itemDOAWarrantyInfo.values()[0]
2698
                else:
2698
                else:
2699
                    doaItemWarrantyVal = itemDOAWarrantyInfo.values()[0]
2699
                    doaItemWarrantyVal = itemDOAWarrantyInfo.values()[0]
2700
                
2700
                
2701
                order.lineitems[0].warrantry_expiry_timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S") + timedelta(days=itemWarrntyVal)
2701
                order.lineitems[0].warrantry_expiry_timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S") + timedelta(days=doaItemWarrantyVal) 
2702
                order.lineitems[0].damaged_expiry_timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S") + timedelta(days=doaItemWarrantyVal)
2702
                order.lineitems[0].damaged_expiry_timestamp = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S") + timedelta(days=itemWarrntyVal)
2703
    
2703
    
2704
    for logisticsTxnId, ordersList in logisticsTxnIdOrdersMap.iteritems():
2704
    for logisticsTxnId, ordersList in logisticsTxnIdOrdersMap.iteritems():
2705
        if enqueue_delivery_success_mail(logisticsTxnId, ordersList) :
2705
        if enqueue_delivery_success_mail(logisticsTxnId, ordersList) :
2706
            order = ordersList[0]
2706
            order = ordersList[0]
2707
            update_trust_level(order)
2707
            update_trust_level(order)
Line 2860... Line 2860...
2860
        if itemDOAWarrantyInfo.key()[0]=='M':
2860
        if itemDOAWarrantyInfo.key()[0]=='M':
2861
            doaItemWarrantyVal = 30*itemDOAWarrantyInfo.values()[0]
2861
            doaItemWarrantyVal = 30*itemDOAWarrantyInfo.values()[0]
2862
        else:
2862
        else:
2863
            doaItemWarrantyVal = itemDOAWarrantyInfo.values()[0]
2863
            doaItemWarrantyVal = itemDOAWarrantyInfo.values()[0]
2864
        
2864
        
2865
        order.lineitems[0].warrantry_expiry_timestamp = deliveryTimestamp + timedelta(days=itemWarrntyVal)
2865
        order.lineitems[0].warrantry_expiry_timestamp = deliveryTimestamp + timedelta(days=doaItemWarrantyVal)
2866
        order.lineitems[0].damaged_expiry_timestamp = deliveryTimestamp + timedelta(days=doaItemWarrantyVal)
2866
        order.lineitems[0].damaged_expiry_timestamp = deliveryTimestamp + timedelta(days=itemWarrntyVal)
2867
            
2867
            
2868
    update_trust_level(grouppedOrdersList[0])
2868
    update_trust_level(grouppedOrdersList[0])
2869
    session.commit()
2869
    session.commit()
2870
 
2870
 
2871
    
2871
    
Line 10744... Line 10744...
10744
            returnOrder.refundDescription = str(returnOrder.replacementOrderId) + " has been delivered now"
10744
            returnOrder.refundDescription = str(returnOrder.replacementOrderId) + " has been delivered now"
10745
            returnOrder.returnTxnResolutionStatus = ReturnTxnResolutionStatus._VALUES_TO_NAMES[ReturnTxnResolutionStatus.REPLACEMENT_DONE]
10745
            returnOrder.returnTxnResolutionStatus = ReturnTxnResolutionStatus._VALUES_TO_NAMES[ReturnTxnResolutionStatus.REPLACEMENT_DONE]
10746
    session.commit()
10746
    session.commit()
10747
    
10747
    
10748
def get_eligible_orders_for_return(customerId, itemCondition, overrideWarranty):
10748
def get_eligible_orders_for_return(customerId, itemCondition, overrideWarranty):
10749
    query = session.query(Order).join((LineItem,Order.id==LineItem.order_id)).filter(Order.delivery_timestamp != None).filter(Order.status.in_(tuple([OrderStatus.DELIVERY_SUCCESS,OrderStatus.PARTIAL_RETURN,OrderStatus.PARTIAL_RETURN_IN_PROCESS]))).filter(LineItem.quantity-LineItem.returnQty>0)
10749
    query = session.query(Order).join((LineItem,Order.id==LineItem.order_id)).filter(Order.customer_id==customerId).filter(Order.delivery_timestamp != None).filter(Order.status.in_(tuple([OrderStatus.DELIVERY_SUCCESS,OrderStatus.PARTIAL_RETURN,OrderStatus.PARTIAL_RETURN_IN_PROCESS]))).filter(LineItem.quantity-LineItem.returnQty>0)
10750
    if not overrideWarranty and itemCondition is not None:
10750
    if not overrideWarranty and itemCondition is not None:
10751
        if itemCondition == 'DAMAGED':
10751
        if itemCondition == 'DAMAGED':
10752
            query = query.filter(LineItem.warranty_expiry_timestamp<=datetime.datetime.now())
10752
            query = query.filter(LineItem.damaged_expiry_timestamp > datetime.datetime.now())
10753
        elif itemCondition == 'DEFECTIVE':
10753
        elif itemCondition == 'DEFECTIVE':
10754
            query = query.filter(LineItem.damaged_expiry_timestamp<=datetime.datetime.now())
10754
            query = query.filter(LineItem.warranty_expiry_timestamp > datetime.datetime.now())
10755
            
10755
            
10756
    orders = query.order_by(desc(Order.delivery_timestamp)).all()
10756
    orders = query.order_by(desc(Order.delivery_timestamp)).all()
10757
    return orders
10757
    return orders
10758
        
10758
        
10759
def get_eligible_return_orders_for_pickup(customerId):
10759
def get_eligible_return_orders_for_pickup(customerId):