| Line 3657... |
Line 3657... |
| 3657 |
order.statusDescription = "Order Cancelled on customer request"
|
3657 |
order.statusDescription = "Order Cancelled on customer request"
|
| 3658 |
elif order.previousStatus == OrderStatus.BILLED:
|
3658 |
elif order.previousStatus == OrderStatus.BILLED:
|
| 3659 |
__create_return_order(order)
|
3659 |
__create_return_order(order)
|
| 3660 |
order.statusDescription = "Order Cancelled on customer request"
|
3660 |
order.statusDescription = "Order Cancelled on customer request"
|
| 3661 |
order.received_return_timestamp = datetime.datetime.now()
|
3661 |
order.received_return_timestamp = datetime.datetime.now()
|
| 3662 |
|
- |
|
| 3663 |
# if order.transaction.payment_option == capitalFloatPayMethod and order.status in [OrderStatus.COD_VERIFICATION_PENDING, OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.ACCEPTED, OrderStatus.CANCEL_REQUEST_CONFIRMED]:
|
- |
|
| 3664 |
# total_amount = order.total_amount + order.shippingCost - order.gvAmount
|
- |
|
| 3665 |
# shipping_id = str(order.id)
|
- |
|
| 3666 |
# if order.logisticsTransactionId is not None:
|
- |
|
| 3667 |
# shipping_id = order.logisticsTransactionId
|
- |
|
| 3668 |
# creditObj = __creditHistoryObj(order.customer_id, 1, order.transaction.id, total_amount, CreditTxnType.BLOCKED_REVERSED, shipping_id)
|
- |
|
| 3669 |
# creditTxns = []
|
- |
|
| 3670 |
# creditTxns.append(creditObj)
|
- |
|
| 3671 |
# try:
|
- |
|
| 3672 |
# process_credit_transaction(order.transaction.id, order.customer_id, 1, creditTxns)
|
- |
|
| 3673 |
# except:
|
- |
|
| 3674 |
# traceback.print_exc()
|
- |
|
| 3675 |
# session.rollback()
|
- |
|
| 3676 |
# return False
|
- |
|
| 3677 |
else:
|
3662 |
else:
|
| 3678 |
status_transition = {OrderStatus.LOST_IN_TRANSIT : OrderStatus.LOST_IN_TRANSIT_REFUNDED,
|
3663 |
status_transition = {OrderStatus.LOST_IN_TRANSIT : OrderStatus.LOST_IN_TRANSIT_REFUNDED,
|
| 3679 |
OrderStatus.RTO_RECEIVED_PRESTINE : OrderStatus.RTO_REFUNDED,
|
3664 |
OrderStatus.RTO_RECEIVED_PRESTINE : OrderStatus.RTO_REFUNDED,
|
| 3680 |
OrderStatus.RTO_RECEIVED_DAMAGED : OrderStatus.RTO_DAMAGED_REFUNDED,
|
3665 |
OrderStatus.RTO_RECEIVED_DAMAGED : OrderStatus.RTO_DAMAGED_REFUNDED,
|
| 3681 |
OrderStatus.RTO_LOST_IN_TRANSIT : OrderStatus.RTO_LOST_IN_TRANSIT_REFUNDED,
|
3666 |
OrderStatus.RTO_LOST_IN_TRANSIT : OrderStatus.RTO_LOST_IN_TRANSIT_REFUNDED,
|
| Line 3760... |
Line 3745... |
| 3760 |
elif order.status in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.ACCEPTED]:
|
3745 |
elif order.status in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.ACCEPTED]:
|
| 3761 |
__update_inventory_reservation(order, refund=True)
|
3746 |
__update_inventory_reservation(order, refund=True)
|
| 3762 |
order.statusDescription = "Order Refunded"
|
3747 |
order.statusDescription = "Order Refunded"
|
| 3763 |
elif order.status == OrderStatus.CANCEL_REQUEST_CONFIRMED:
|
3748 |
elif order.status == OrderStatus.CANCEL_REQUEST_CONFIRMED:
|
| 3764 |
if order.previousStatus in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.PAYMENT_FLAGGED, OrderStatus.ACCEPTED]:
|
3749 |
if order.previousStatus in [OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.INVENTORY_LOW, OrderStatus.LOW_INV_PO_RAISED, OrderStatus.LOW_INV_REVERSAL_IN_PROCESS, OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT, OrderStatus.PAYMENT_FLAGGED, OrderStatus.ACCEPTED]:
|
| 3765 |
if order.previousStatus == OrderStatus.ACCEPTED:
|
- |
|
| 3766 |
__create_refund(order, order.wallet_amount, 'Order #{0} is refunded due to low inventory'.format(order.id))
|
- |
|
| 3767 |
__update_inventory_reservation(order, refund=False)
|
3750 |
__update_inventory_reservation(order, refund=True)
|
| 3768 |
order.statusDescription = "Order Cancelled on customer request"
|
3751 |
order.statusDescription = "Order Cancelled on customer request"
|
| 3769 |
elif order.previousStatus == OrderStatus.BILLED:
|
3752 |
elif order.previousStatus == OrderStatus.BILLED:
|
| 3770 |
__create_return_order(order)
|
3753 |
__create_return_order(order)
|
| 3771 |
__create_refund(order, order.wallet_amount, 'Order #{0} Cancelled on customer request'.format(order.id))
|
3754 |
__create_refund(order, order.wallet_amount, 'Order #{0} Cancelled on customer request'.format(order.id))
|
| 3772 |
order.statusDescription = "Order Cancelled on customer request"
|
3755 |
order.statusDescription = "Order Cancelled on customer request"
|
| Line 3810... |
Line 3793... |
| 3810 |
if warehouse.billingType == BillingType.OURS_EXTERNAL:
|
3793 |
if warehouse.billingType == BillingType.OURS_EXTERNAL:
|
| 3811 |
warehouseClient.scanForOursExternalSaleReturn(order.id, lineitem.transfer_price)
|
3794 |
warehouseClient.scanForOursExternalSaleReturn(order.id, lineitem.transfer_price)
|
| 3812 |
if order.freebieItemId:
|
3795 |
if order.freebieItemId:
|
| 3813 |
warehouseClient.scanfreebie(order.id, order.freebieItemId, 0, ScanType.SALE_RET)
|
3796 |
warehouseClient.scanfreebie(order.id, order.freebieItemId, 0, ScanType.SALE_RET)
|
| 3814 |
|
3797 |
|
| 3815 |
if order.source == 2 and order.status in (OrderStatus.SUBMITTED_FOR_PROCESSING, OrderStatus.ACCEPTED, OrderStatus.INVENTORY_LOW, OrderStatus.CANCEL_REQUEST_CONFIRMED):
|
- |
|
| 3816 |
storeOrderDetail = StoreOrderDetail.query.filter(StoreOrderDetail.orderId == order.id).filter(StoreOrderDetail.storeId == order.storeId).first()
|
- |
|
| 3817 |
|
- |
|
| 3818 |
if order.created_timestamp.date() == datetime.datetime.now().date() and storeOrderDetail.cardType != "debit":
|
- |
|
| 3819 |
__push_store_collection_to_hotspot(order, "RefundFromStore", -storeOrderDetail.cashRefundAmount, -storeOrderDetail.cardRefundAmount)
|
- |
|
| 3820 |
storeOrderDetail.payStatus = StorePaymentStatus.ADV_REFUNDED
|
- |
|
| 3821 |
else:
|
- |
|
| 3822 |
if storeOrderDetail.cardRefundAmount == 0:
|
- |
|
| 3823 |
storeOrderDetail.payStatus = StorePaymentStatus.ADV_REFUNDED
|
- |
|
| 3824 |
else:
|
- |
|
| 3825 |
storeOrderDetail.payStatus = StorePaymentStatus.REFUND_REQUESTED
|
- |
|
| 3826 |
|
- |
|
| 3827 |
if storeOrderDetail.cashRefundAmount > 0:
|
- |
|
| 3828 |
__push_store_collection_to_hotspot(order, "RefundFromStore", -storeOrderDetail.cashRefundAmount, 0)
|
- |
|
| 3829 |
|
- |
|
| 3830 |
elif order.source == 2 and order.status in (OrderStatus.RTO_RECEIVED_PRESTINE, OrderStatus.RTO_RECEIVED_DAMAGED, \
|
- |
|
| 3831 |
OrderStatus.RET_PRODUCT_UNUSABLE, OrderStatus.RET_PRODUCT_USABLE, \
|
- |
|
| 3832 |
OrderStatus.RET_RECEIVED_DAMAGED, OrderStatus.RET_LOST_IN_TRANSIT ,\
|
- |
|
| 3833 |
OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, \
|
- |
|
| 3834 |
OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT):
|
- |
|
| 3835 |
storeOrderDetail = StoreOrderDetail.query.filter(StoreOrderDetail.orderId == order.id).filter(StoreOrderDetail.storeId == order.storeId).first()
|
- |
|
| 3836 |
if storeOrderDetail.payStatus not in (StorePaymentStatus.ADV_REFUNDED , StorePaymentStatus.REFUND_INITIATED, \
|
- |
|
| 3837 |
StorePaymentStatus.REFUND_REQUESTED, StorePaymentStatus.REFUNDED):
|
- |
|
| 3838 |
storeOrderDetail.payStatus = StorePaymentStatus.REFUND_REQUESTED
|
- |
|
| 3839 |
else:
|
- |
|
| 3840 |
order.status = status_transition[order.status]
|
- |
|
| 3841 |
order.refund_reason = reason
|
- |
|
| 3842 |
session.commit()
|
- |
|
| 3843 |
return True
|
- |
|
| 3844 |
|
- |
|
| 3845 |
order.status = status_transition[order.status]
|
3798 |
order.status = status_transition[order.status]
|
| 3846 |
order.refund_timestamp = datetime.datetime.now()
|
3799 |
order.refund_timestamp = datetime.datetime.now()
|
| 3847 |
order.refunded_by = refunded_by
|
3800 |
order.refunded_by = refunded_by
|
| 3848 |
order.refund_reason = reason
|
3801 |
order.refund_reason = reason
|
| 3849 |
#to re evaluate the shipping charge if any order is being cancelled.
|
3802 |
#to re evaluate the shipping charge if any order is being cancelled.
|