Subversion Repositories SmartDukaan

Rev

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

Rev 7628 Rev 7631
Line 2056... Line 2056...
2056
    
2056
    
2057
def request_pickup_number(order_id, providerId):
2057
def request_pickup_number(order_id, providerId):
2058
    order = get_order(order_id)
2058
    order = get_order(order_id)
2059
    if order.status != OrderStatus.DELIVERY_SUCCESS and order.status != OrderStatus.DOA_REQUEST_AUTHORIZED and order.status != OrderStatus.RET_REQUEST_AUTHORIZED:
2059
    if order.status != OrderStatus.DELIVERY_SUCCESS and order.status != OrderStatus.DOA_REQUEST_AUTHORIZED and order.status != OrderStatus.RET_REQUEST_AUTHORIZED:
2060
        return False
2060
        return False
2061
    
-
 
2062
    subject = "Pickup request from " + order.customer_city
-
 
2063
    try:
-
 
2064
        inventory_client = InventoryClient().get_client()
-
 
2065
        warehouse = inventory_client.getWarehouse(order.warehouse_id)
-
 
2066
        
-
 
2067
        logistics_client = LogisticsClient().get_client()
-
 
2068
        provider = logistics_client.getProvider(providerId)
-
 
2069
        to_addr = provider.details[DeliveryType.PREPAID].email
-
 
2070
        raw_message = '''
-
 
2071
        Dear Sir/Madam,
-
 
2072
        
-
 
2073
        Kindly arrange a pickup today from %(customer_city)s. Pickup and delivery addresses are mentioned below.
-
 
2074
 
-
 
2075
        Order Id: %(order_id)s
-
 
2076
        Pickup CODE: %(provider_code)s
-
 
2077
        Total Weight: %(order_weight)s kg
-
 
2078
        
-
 
2079
        Pickup Address:
-
 
2080
 
-
 
2081
        %(customer_address)s
-
 
2082
 
-
 
2083
        Delivery Address:
-
 
2084
 
-
 
2085
        %(warehouse_executive)s
-
 
2086
        %(warehouse_address)s
-
 
2087
        PIN %(warehouse_pin)s
-
 
2088
        
-
 
2089
        Thanks and Regards
-
 
2090
        Sandeep Sachdeva
-
 
2091
        '''
-
 
2092
        
-
 
2093
        if warehouse.id == 7:
-
 
2094
            executive = 'Shiv Kumar'
-
 
2095
        else:
-
 
2096
            executive = 'Dinesh Kumar'
-
 
2097
        
-
 
2098
        message = dedent(raw_message) % { 'customer_city' : order.customer_city,
-
 
2099
                                          'provider_code' : provider.details[DeliveryType.PREPAID].accountNo,
-
 
2100
                                          'order_id' : str(order_id),
-
 
2101
                                          'order_weight' : str(order.total_weight),
-
 
2102
                                          'customer_address' : __get_order_address(order),
-
 
2103
                                          'warehouse_executive' : executive,
-
 
2104
                                          'warehouse_address' : warehouse.location,
-
 
2105
                                          'warehouse_pin' : warehouse.pincode}
-
 
2106
        to_addresses = [to_addr,'amit.sirohi@shop2020.in', 'shrawan.choudhary@shop2020.in', 'ritesh.chauhan@shop2020.in']
-
 
2107
        
-
 
2108
        mail(mail_user, mail_password, to_addresses, subject, message)
-
 
2109
        if order.status == OrderStatus.RET_REQUEST_AUTHORIZED:
2061
    if order.status == OrderStatus.RET_REQUEST_AUTHORIZED:
2110
            order.status = OrderStatus.RET_PICKUP_REQUEST_RAISED
2062
        order.status = OrderStatus.RET_PICKUP_REQUEST_RAISED
2111
            order.statusDescription = "Pick up requested for RETURN"
2063
        order.statusDescription = "Pick up requested for RETURN"
2112
        else:
2064
    else:
2113
            order.status = OrderStatus.DOA_PICKUP_REQUEST_RAISED
2065
        order.status = OrderStatus.DOA_PICKUP_REQUEST_RAISED
2114
            order.statusDescription = "Pick up requested for DOA"
2066
        order.statusDescription = "Pick up requested for DOA"
2115
        order.doa_logistics_provider_id = providerId
2067
    order.doa_logistics_provider_id = providerId
2116
        session.commit()
2068
    session.commit()
2117
        return True
2069
    return True
2118
    except Exception as e:
-
 
2119
        print sys.exc_info()[0]
-
 
2120
        return False
-
 
2121
 
2070
 
2122
def authorize_pickup(order_id, pickup_number, providerId):
2071
def authorize_pickup(order_id, pickup_number, providerId):
2123
    order = get_order(order_id)
2072
    order = get_order(order_id)
2124
    if order.status not in [OrderStatus.DOA_PICKUP_REQUEST_RAISED, OrderStatus.RET_PICKUP_REQUEST_RAISED]:
2073
    if order.status not in [OrderStatus.DOA_PICKUP_REQUEST_RAISED, OrderStatus.RET_PICKUP_REQUEST_RAISED]:
2125
        return False
2074
        return False