| Line 1050... |
Line 1050... |
| 1050 |
order.status = OrderStatus.DOA_LOST_IN_TRANSIT
|
1050 |
order.status = OrderStatus.DOA_LOST_IN_TRANSIT
|
| 1051 |
order.statusDescription = "DOA lost in transit"
|
1051 |
order.statusDescription = "DOA lost in transit"
|
| 1052 |
order.received_return_timestamp = datetime.datetime.now()
|
1052 |
order.received_return_timestamp = datetime.datetime.now()
|
| 1053 |
session.commit()
|
1053 |
session.commit()
|
| 1054 |
elif order.status == OrderStatus.RTO_IN_TRANSIT :
|
1054 |
elif order.status == OrderStatus.RTO_IN_TRANSIT :
|
| - |
|
1055 |
if receiveCondition == 0:
|
| 1055 |
order.status = OrderStatus.RTO_RECEIVED_PRESTINE
|
1056 |
order.status = OrderStatus.RTO_RECEIVED_PRESTINE
|
| 1056 |
order.statusDescription = "Sales return received"
|
1057 |
order.statusDescription = "RTO package received"
|
| - |
|
1058 |
elif receiveCondition == 1:
|
| - |
|
1059 |
order.status = OrderStatus.RTO_RECEIVED_DAMAGED
|
| - |
|
1060 |
order.statusDescription = "RTO received damaged"
|
| - |
|
1061 |
elif receiveCondition == 2:
|
| - |
|
1062 |
order.status = OrderStatus.RTO_LOST_IN_TRANSIT
|
| - |
|
1063 |
order.statusDescription = "RTO lost in transit"
|
| 1057 |
order.received_return_timestamp = datetime.datetime.now()
|
1064 |
order.received_return_timestamp = datetime.datetime.now()
|
| 1058 |
session.commit()
|
1065 |
session.commit()
|
| 1059 |
else:
|
1066 |
else:
|
| 1060 |
return False
|
1067 |
return False
|
| 1061 |
return True
|
1068 |
return True
|
| Line 1097... |
Line 1104... |
| 1097 |
new_order = __clone_order(order, True, order.cod)
|
1104 |
new_order = __clone_order(order, True, order.cod)
|
| 1098 |
order.status = OrderStatus.RTO_RESHIPPED
|
1105 |
order.status = OrderStatus.RTO_RESHIPPED
|
| 1099 |
order.statusDescription = "Order Reshipped"
|
1106 |
order.statusDescription = "Order Reshipped"
|
| 1100 |
session.commit()
|
1107 |
session.commit()
|
| 1101 |
update_trust_level(order)
|
1108 |
update_trust_level(order)
|
| - |
|
1109 |
elif order.status == OrderStatus.RTO_RECEIVED_DAMAGED:
|
| - |
|
1110 |
new_order = __clone_order(order, False, order.cod)
|
| - |
|
1111 |
ret_order = __create_return_order(order)
|
| - |
|
1112 |
order.status = OrderStatus.RTO_DAMAGED_RESHIPPED
|
| - |
|
1113 |
order.statusDescription = "Order Reshipped Received Damaged"
|
| - |
|
1114 |
session.commit()
|
| - |
|
1115 |
elif order.status == OrderStatus.RTO_LOST_IN_TRANSIT:
|
| - |
|
1116 |
new_order = __clone_order(order, False, order.cod)
|
| - |
|
1117 |
order.status = OrderStatus.RTO_LOST_IN_TRANSIT_RESHIPPED
|
| - |
|
1118 |
order.statusDescription = "Order Reshipped Lost In Transit"
|
| - |
|
1119 |
session.commit()
|
| 1102 |
elif order.status == OrderStatus.DOA_CERT_INVALID:
|
1120 |
elif order.status == OrderStatus.DOA_CERT_INVALID:
|
| 1103 |
new_order = __clone_order(order, True, False)
|
1121 |
new_order = __clone_order(order, True, False)
|
| 1104 |
order.status = OrderStatus.DOA_INVALID_RESHIPPED
|
1122 |
order.status = OrderStatus.DOA_INVALID_RESHIPPED
|
| 1105 |
order.statusDescription = "Order Reshipped"
|
1123 |
order.statusDescription = "Order Reshipped"
|
| 1106 |
session.commit()
|
1124 |
session.commit()
|
| Line 1163... |
Line 1181... |
| 1163 |
|
1181 |
|
| 1164 |
|
1182 |
|
| 1165 |
if order.cod:
|
1183 |
if order.cod:
|
| 1166 |
logging.info("Refunding COD order with status " + str(order.status))
|
1184 |
logging.info("Refunding COD order with status " + str(order.status))
|
| 1167 |
status_transition = {OrderStatus.RTO_RECEIVED_PRESTINE : OrderStatus.RTO_REFUNDED,
|
1185 |
status_transition = {OrderStatus.RTO_RECEIVED_PRESTINE : OrderStatus.RTO_REFUNDED,
|
| - |
|
1186 |
OrderStatus.RTO_RECEIVED_DAMAGED : OrderStatus.RTO_DAMAGED_REFUNDED,
|
| - |
|
1187 |
OrderStatus.RTO_LOST_IN_TRANSIT : OrderStatus.RTO_LOST_IN_TRANSIT_REFUNDED,
|
| 1168 |
OrderStatus.DOA_CERT_INVALID : OrderStatus.DOA_INVALID_REFUNDED,
|
1188 |
OrderStatus.DOA_CERT_INVALID : OrderStatus.DOA_INVALID_REFUNDED,
|
| 1169 |
OrderStatus.DOA_CERT_VALID : OrderStatus.DOA_VALID_REFUNDED,
|
1189 |
OrderStatus.DOA_CERT_VALID : OrderStatus.DOA_VALID_REFUNDED,
|
| 1170 |
OrderStatus.DOA_RECEIVED_DAMAGED : OrderStatus.DOA_REFUNDED_RCVD_DAMAGED,
|
1190 |
OrderStatus.DOA_RECEIVED_DAMAGED : OrderStatus.DOA_REFUNDED_RCVD_DAMAGED,
|
| 1171 |
OrderStatus.DOA_LOST_IN_TRANSIT : OrderStatus.DOA_REFUNDED_LOST_IN_TRANSIT,
|
1191 |
OrderStatus.DOA_LOST_IN_TRANSIT : OrderStatus.DOA_REFUNDED_LOST_IN_TRANSIT,
|
| 1172 |
OrderStatus.INIT : OrderStatus.CANCELED,
|
1192 |
OrderStatus.INIT : OrderStatus.CANCELED,
|
| Line 1186... |
Line 1206... |
| 1186 |
__update_inventory_reservation(order)
|
1206 |
__update_inventory_reservation(order)
|
| 1187 |
order.statusDescription = "Order Cancelled"
|
1207 |
order.statusDescription = "Order Cancelled"
|
| 1188 |
elif order.status == OrderStatus.BILLED:
|
1208 |
elif order.status == OrderStatus.BILLED:
|
| 1189 |
__create_return_order(order)
|
1209 |
__create_return_order(order)
|
| 1190 |
order.statusDescription = "Order Cancelled"
|
1210 |
order.statusDescription = "Order Cancelled"
|
| 1191 |
elif order.status == OrderStatus.RTO_RECEIVED_PRESTINE:
|
1211 |
elif order.status in [OrderStatus.RTO_RECEIVED_PRESTINE, OrderStatus.RTO_RECEIVED_DAMAGED, OrderStatus.RTO_LOST_IN_TRANSIT]:
|
| 1192 |
__create_return_order(order)
|
1212 |
__create_return_order(order)
|
| 1193 |
order.statusDescription = "Order Returned to origin"
|
1213 |
order.statusDescription = "RTO Refunded"
|
| 1194 |
elif order.status in [OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT] :
|
1214 |
elif order.status in [OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT] :
|
| 1195 |
__create_return_order(order)
|
1215 |
__create_return_order(order)
|
| 1196 |
__create_refund(order)
|
1216 |
__create_refund(order)
|
| 1197 |
order.statusDescription = "Order Refunded"
|
1217 |
order.statusDescription = "Order Refunded"
|
| 1198 |
elif order.status == OrderStatus.CANCEL_REQUEST_CONFIRMED:
|
1218 |
elif order.status == OrderStatus.CANCEL_REQUEST_CONFIRMED:
|
| Line 1202... |
Line 1222... |
| 1202 |
elif order.previousStatus == OrderStatus.BILLED:
|
1222 |
elif order.previousStatus == OrderStatus.BILLED:
|
| 1203 |
__create_return_order(order)
|
1223 |
__create_return_order(order)
|
| 1204 |
order.statusDescription = "Order Cancelled on customer request"
|
1224 |
order.statusDescription = "Order Cancelled on customer request"
|
| 1205 |
else:
|
1225 |
else:
|
| 1206 |
status_transition = {OrderStatus.RTO_RECEIVED_PRESTINE : OrderStatus.RTO_REFUNDED,
|
1226 |
status_transition = {OrderStatus.RTO_RECEIVED_PRESTINE : OrderStatus.RTO_REFUNDED,
|
| - |
|
1227 |
OrderStatus.RTO_RECEIVED_DAMAGED : OrderStatus.RTO_DAMAGED_REFUNDED,
|
| - |
|
1228 |
OrderStatus.RTO_LOST_IN_TRANSIT : OrderStatus.RTO_LOST_IN_TRANSIT_REFUNDED,
|
| 1207 |
OrderStatus.DOA_CERT_INVALID : OrderStatus.DOA_INVALID_REFUNDED,
|
1229 |
OrderStatus.DOA_CERT_INVALID : OrderStatus.DOA_INVALID_REFUNDED,
|
| 1208 |
OrderStatus.DOA_CERT_VALID : OrderStatus.DOA_VALID_REFUNDED,
|
1230 |
OrderStatus.DOA_CERT_VALID : OrderStatus.DOA_VALID_REFUNDED,
|
| 1209 |
OrderStatus.DOA_RECEIVED_DAMAGED : OrderStatus.DOA_REFUNDED_RCVD_DAMAGED,
|
1231 |
OrderStatus.DOA_RECEIVED_DAMAGED : OrderStatus.DOA_REFUNDED_RCVD_DAMAGED,
|
| 1210 |
OrderStatus.DOA_LOST_IN_TRANSIT : OrderStatus.DOA_REFUNDED_LOST_IN_TRANSIT,
|
1232 |
OrderStatus.DOA_LOST_IN_TRANSIT : OrderStatus.DOA_REFUNDED_LOST_IN_TRANSIT,
|
| 1211 |
OrderStatus.SUBMITTED_FOR_PROCESSING : OrderStatus.REFUNDED,
|
1233 |
OrderStatus.SUBMITTED_FOR_PROCESSING : OrderStatus.REFUNDED,
|
| Line 1219... |
Line 1241... |
| 1219 |
OrderStatus.PAYMENT_FLAGGED : OrderStatus.PAYMENT_FLAGGED_DENIED
|
1241 |
OrderStatus.PAYMENT_FLAGGED : OrderStatus.PAYMENT_FLAGGED_DENIED
|
| 1220 |
}
|
1242 |
}
|
| 1221 |
if order.status not in status_transition.keys():
|
1243 |
if order.status not in status_transition.keys():
|
| 1222 |
raise TransactionServiceException(114, "This order can't be refunded")
|
1244 |
raise TransactionServiceException(114, "This order can't be refunded")
|
| 1223 |
|
1245 |
|
| 1224 |
if order.status in [OrderStatus.RTO_RECEIVED_PRESTINE, OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT] :
|
1246 |
if order.status in [OrderStatus.RTO_RECEIVED_PRESTINE, OrderStatus.RTO_RECEIVED_DAMAGED, OrderStatus.RTO_LOST_IN_TRANSIT, OrderStatus.DOA_CERT_INVALID, OrderStatus.DOA_CERT_VALID, OrderStatus.DOA_RECEIVED_DAMAGED, OrderStatus.DOA_LOST_IN_TRANSIT] :
|
| 1225 |
__create_return_order(order)
|
1247 |
__create_return_order(order)
|
| 1226 |
__create_refund(order)
|
1248 |
__create_refund(order)
|
| 1227 |
order.statusDescription = "Order Refunded"
|
1249 |
order.statusDescription = "Order Refunded"
|
| 1228 |
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]:
|
1250 |
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]:
|
| 1229 |
__create_cancellation(order)
|
1251 |
__create_cancellation(order)
|