| Line 818... |
Line 818... |
| 818 |
update_trust_level(order)
|
818 |
update_trust_level(order)
|
| 819 |
session.commit()
|
819 |
session.commit()
|
| 820 |
|
820 |
|
| 821 |
def mark_order_as_delivered(orderId, deliveryTimestamp, receiver):
|
821 |
def mark_order_as_delivered(orderId, deliveryTimestamp, receiver):
|
| 822 |
order = Order.get_by(id=orderId)
|
822 |
order = Order.get_by(id=orderId)
|
| 823 |
if order == None or order.status not in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DOA_PICKUP_REQUEST_RAISED, OrderStatus.DOA_PICKUP_CONFIRMED, OrderStatus.RET_REQUEST_RECEIVED, OrderStatus.RET_PICKUP_CONFIRMED, OrderStatus.RET_REQUEST_AUTHORIZED, OrderStatus.RET_PICKUP_REQUEST_RAISED, OrderStatus.RTO_IN_TRANSIT]:
|
823 |
if order == None or order.status not in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.DOA_PICKUP_REQUEST_RAISED, OrderStatus.DOA_PICKUP_CONFIRMED, OrderStatus.RET_REQUEST_RECEIVED, OrderStatus.RET_PICKUP_CONFIRMED, OrderStatus.RET_REQUEST_AUTHORIZED, OrderStatus.RET_PICKUP_REQUEST_RAISED, OrderStatus.RTO_IN_TRANSIT, OrderStatus.BILLED]:
|
| 824 |
raise TransactionServiceException(101, "Either wrond order id or invalid state " + str(orderId))
|
824 |
raise TransactionServiceException(101, "Either wrond order id or invalid state " + str(orderId))
|
| 825 |
|
825 |
|
| - |
|
826 |
# Provider is 4 is for self pickup and hardcoded. We should figure out a way to not to hard code.
|
| - |
|
827 |
if order.status == OrderStatus.BILLED and order.logistics_provider_id != 4:
|
| - |
|
828 |
raise TransactionServiceException(101, "Order is not marked for self pickup: " + str(orderId))
|
| - |
|
829 |
|
| 826 |
if order.status in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.RTO_IN_TRANSIT]:
|
830 |
if order.status in [OrderStatus.SHIPPED_FROM_WH, OrderStatus.SHIPPED_TO_LOGST, OrderStatus.SHIPPED_TO_DESTINATION_CITY, OrderStatus.REACHED_DESTINATION_CITY, OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE, OrderStatus.RTO_IN_TRANSIT, OrderStatus.BILLED]:
|
| 827 |
order.delivery_timestamp = deliveryTimestamp
|
831 |
order.delivery_timestamp = deliveryTimestamp
|
| 828 |
order.receiver = receiver
|
832 |
order.receiver = receiver
|
| 829 |
order.status = OrderStatus.DELIVERY_SUCCESS
|
833 |
order.status = OrderStatus.DELIVERY_SUCCESS
|
| 830 |
order.statusDescription = "Order delivered"
|
834 |
order.statusDescription = "Order delivered"
|
| 831 |
update_trust_level(order)
|
835 |
update_trust_level(order)
|