Subversion Repositories SmartDukaan

Rev

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

Rev 18050 Rev 18072
Line 5974... Line 5974...
5974
    
5974
    
5975
    doc.addPageTemplates([PageTemplate(id='TwoCol',frames=[frame1]), ])
5975
    doc.addPageTemplates([PageTemplate(id='TwoCol',frames=[frame1]), ])
5976
 
5976
 
5977
    #start the construction of the pdf
5977
    #start the construction of the pdf
5978
    doc.build(Story)
5978
    doc.build(Story)
5979
 
5979
   
5980
def change_shipping_address(orderId, line1, line2, city, state, pin):
5980
def change_shipping_address(orderId, line1, line2, city, state, pin):
5981
    order = Order.get_by(id = orderId)
5981
    order = Order.get_by(id = orderId)
5982
    if order:
5982
    if order:
5983
        order.customer_address1 = line1
5983
        ordersList = get_orders_for_transaction(order.transaction_id, order.customer_id)
5984
        order.customer_address2 = line2
5984
        logistics_client = LogisticsClient().get_client()
5985
        order.customer_city = city
5985
        for order in ordersList:
5986
        order.customer_state = state
5986
            if order.logisticsTransactionId is None:
5987
 
-
 
5988
        # Start:- Added/Modified by Manish Sharma on 13 May 2013 for Change Shipping Address functionality
-
 
5989
        if order.customer_pincode != pin :
5987
                order.customer_address1 = line1
5990
            type = DeliveryType.PREPAID
-
 
5991
            if order.cod:
5988
                order.customer_address2 = line2
5992
                type = DeliveryType.COD
5989
                order.customer_city = city
5993
            logistics_client = LogisticsClient().get_client()
-
 
5994
            logistics_info = logistics_client.getLogisticsEstimation(order.lineitems[0].item_id, pin, type)
-
 
5995
            
-
 
5996
            # Check for new estimate. Raise exception if new address is not serviceable
-
 
5997
            if logistics_info.deliveryTime == -1:
5990
                order.customer_state = state
5998
                raise TransactionServiceException(1, 'Location not serviceable')
-
 
5999
        
5991
        
-
 
5992
                # Start:- Added/Modified by Manish Sharma on 13 May 2013 for Change Shipping Address functionality
-
 
5993
                if order.customer_pincode != pin :
-
 
5994
                    type = DeliveryType.PREPAID
-
 
5995
                    if order.cod:
-
 
5996
                        type = DeliveryType.COD
-
 
5997
                        
-
 
5998
                    if not logistics_client.isAlive():
-
 
5999
                        logistics_client = LogisticsClient().get_client()
-
 
6000
                        
-
 
6001
                    logistics_info = logistics_client.getLogisticsEstimation(order.lineitems[0].item_id, pin, type)
-
 
6002
                    
-
 
6003
                    # Check for new estimate. Raise exception if new address is not serviceable
-
 
6004
                    if logistics_info.deliveryTime == -1:
-
 
6005
                        raise TransactionServiceException(1, 'Location not serviceable')
-
 
6006
                
6000
            # COD services are not available everywhere
6007
                    # COD services are not available everywhere
6001
            if order.cod:
6008
                    if order.cod:
6002
                if not logistics_info.codAllowed:
6009
                        if not logistics_info.codAllowed:
6003
                    raise TransactionServiceException(2, 'COD service not available')
6010
                            raise TransactionServiceException(2, 'COD service not available')
6004
 
6011
        
6005
            logistics_info_new = logistics_client.getLogisticsInfo(pin, order.lineitems[0].item_id, type, PickUpType.COURIER)
6012
                    logistics_info_new = logistics_client.getLogisticsInfo(pin, order.lineitems[0].item_id, type, PickUpType.COURIER)
6006
            #Start:- Added by Manish Sharma for FedEx Integration- Shipment Creation on 31-Jul-2013
6013
                    #Start:- Added by Manish Sharma for FedEx Integration- Shipment Creation on 31-Jul-2013
6007
            #order.tracking_id = logistics_info_new.airway_billno
6014
                    #order.tracking_id = logistics_info_new.airway_billno
6008
            #order.airwaybill_no = logistics_info_new.airway_billno
6015
                    #order.airwaybill_no = logistics_info_new.airway_billno
-
 
6016
                    '''
6009
            if logistics_info_new.providerId !=7:
6017
                    if logistics_info_new.providerId !=7:
6010
                awb_number = logistics_client.getEmptyAWB(logistics_info_new.providerId, type)
6018
                        awb_number = logistics_client.getEmptyAWB(logistics_info_new.providerId, type)
6011
                order.tracking_id = awb_number
6019
                        order.tracking_id = awb_number
6012
                order.airwaybill_no = awb_number            
6020
                        order.airwaybill_no = awb_number
-
 
6021
                    '''            
6013
            #End:- Added by Manish Sharma for FedEx Integration- Shipment Creation on 31-Jul-2013
6022
                    #End:- Added by Manish Sharma for FedEx Integration- Shipment Creation on 31-Jul-2013
6014
            order.logistics_provider_id = logistics_info_new.providerId
6023
                    order.logistics_provider_id = logistics_info_new.providerId
6015
            current_time = datetime.datetime.now()
6024
                    current_time = datetime.datetime.now()
6016
            
6025
                    
6017
            logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
6026
                    logistics_info.deliveryTime = adjust_delivery_time(current_time, logistics_info.deliveryTime)
6018
            logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
6027
                    logistics_info.shippingTime = adjust_delivery_time(current_time, logistics_info.shippingTime)
6019
            logistics_info.deliveryDelay = adjust_delivery_time(current_time, (logistics_info.shippingTime+logistics_info.deliveryDelay))
6028
                    logistics_info.deliveryDelay = adjust_delivery_time(current_time, (logistics_info.shippingTime+logistics_info.deliveryDelay))
6020
            new_expected_shipping_time_cod = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6029
                    new_expected_shipping_time_cod = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6021
            new_expected_shipping_time_prepaid = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6030
                    new_expected_shipping_time_prepaid = (current_time + datetime.timedelta(days=logistics_info.shippingTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6022
            
6031
                    
6023
            if order.cod:
6032
                    if order.cod:
6024
                if order.expected_shipping_time.date() == new_expected_shipping_time_cod.date() :
6033
                        if order.expected_shipping_time.date() == new_expected_shipping_time_cod.date() :
6025
                    if order.otg :
6034
                            if order.otg :
6026
                        order.otg = logistics_info.otgAvailable 
6035
                                order.otg = logistics_info.otgAvailable 
6027
                else:
6036
                        else:
6028
                    if order.otg:
6037
                            if order.otg:
6029
                        order.otg = False
6038
                                order.otg = False
6030
                order.expected_shipping_time = new_expected_shipping_time_cod
6039
                        order.expected_shipping_time = new_expected_shipping_time_cod
6031
                order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6040
                        order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6032
                order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6041
                        order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=COD_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6033
            else:
6042
                    else:
6034
                if order.expected_shipping_time.date() == new_expected_shipping_time_prepaid.date() :
6043
                        if order.expected_shipping_time.date() == new_expected_shipping_time_prepaid.date() :
6035
                    if order.otg :
6044
                            if order.otg :
6036
                        order.otg = logistics_info.otgAvailable 
6045
                                order.otg = logistics_info.otgAvailable 
6037
                else:
6046
                        else:
6038
                    if order.otg:
6047
                            if order.otg:
6039
                        order.otg = False
6048
                                order.otg = False
6040
                order.expected_shipping_time = new_expected_shipping_time_prepaid
6049
                        order.expected_shipping_time = new_expected_shipping_time_prepaid
6041
                order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6050
                        order.expected_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryTime)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6042
                order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6051
                        order.courier_delivery_time = (current_time + datetime.timedelta(days=logistics_info.deliveryDelay)).replace(hour=PREPAID_SHIPPING_CUTOFF_TIME, minute=0, second=0)
6043
 
6052
        
6044
        order.customer_pincode = pin
6053
                order.customer_pincode = pin
6045
        # End:- Added/Modified by Manish Sharma on 13 May 2013 for Change Shipping Address functionality
6054
        # End:- Added/Modified by Manish Sharma on 13 May 2013 for Change Shipping Address functionality
6046
        session.commit()
6055
        session.commit()
6047
        return True
6056
        return True
6048
    return False
6057
    return False
6049
 
6058
 
-
 
6059
 
6050
def get_recharge_transactions(storeId):
6060
def get_recharge_transactions(storeId):
6051
    query = RechargeTransaction.query.filter(RechargeTransaction.storeId == storeId)
6061
    query = RechargeTransaction.query.filter(RechargeTransaction.storeId == storeId)
6052
    return query.all()
6062
    return query.all()
6053
 
6063
 
6054
def get_recharge_trans(storeId, startdate,enddate, status):
6064
def get_recharge_trans(storeId, startdate,enddate, status):