Subversion Repositories SmartDukaan

Rev

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

Rev 3191 Rev 3195
Line 936... Line 936...
936
    order = get_order(order_id)
936
    order = get_order(order_id)
937
    
937
    
938
    if order.status not in status_transition.keys():
938
    if order.status not in status_transition.keys():
939
        raise TransactionServiceException(114, "This order can't be refunded")
939
        raise TransactionServiceException(114, "This order can't be refunded")
940
    
940
    
941
    order.status = status_transition[order.status]
-
 
942
    order.statusDescription = "Order Refunded"
-
 
943
    
-
 
944
    if order.status == OrderStatus.INIT:
941
    if order.status == OrderStatus.INIT:
945
        __update_inventory_reservation(order)
942
        __update_inventory_reservation(order)
946
        order.statusDescription = "Order Cancelled"
943
        order.statusDescription = "Order Cancelled"
947
    elif order.status in [OrderStatus.SALES_RET_RECEIVED, OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID] :
944
    elif order.status in [OrderStatus.SALES_RET_RECEIVED, OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID] :
948
        __create_return_order(order)
945
        __create_return_order(order)
949
        __create_refund(order)
946
        __create_refund(order)
-
 
947
        order.statusDescription = "Order Refunded"
950
    elif order.status in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW]:
948
    elif order.status in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW]:
951
        if not order.cod:
949
        if not order.cod:
952
            __create_cancellation(order)
950
            __create_cancellation(order)
953
        __update_inventory_reservation(order)
951
        __update_inventory_reservation(order)
-
 
952
        order.statusDescription = "Order Refunded"
954
    
953
 
-
 
954
    order.status = status_transition[order.status]
955
    order.refund_timestamp = datetime.datetime.now()
955
    order.refund_timestamp = datetime.datetime.now()
-
 
956
    
956
    session.commit()
957
    session.commit()
957
    return True
958
    return True
958
 
959
 
959
def __update_inventory_reservation(order):
960
def __update_inventory_reservation(order):
960
    '''
961
    '''