Subversion Repositories SmartDukaan

Rev

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

Rev 5123 Rev 5139
Line 2283... Line 2283...
2283
    return query.all()
2283
    return query.all()
2284
 
2284
 
2285
def get_orders_where_vendor_not_paid(vendor_id):
2285
def get_orders_where_vendor_not_paid(vendor_id):
2286
    query = Order.query.filter_by(vendorId = vendor_id)
2286
    query = Order.query.filter_by(vendorId = vendor_id)
2287
    query = query.filter(Order.billing_timestamp != None)
2287
    query = query.filter(Order.billing_timestamp != None)
2288
    query = query.filter(Order.status != OrderStatus.PAYMENT_PENDING)
2288
    query = query.filter(Order.vendor_paid != True)
2289
    query = query.filter(Order.vendor_paid == False)
2289
    #query = query.filter(not_(Order.status.in_(OrderStatusGroups.refundedOrders)))
-
 
2290
    query = query.filter(not_(Order.status.in_([15,31,32,33,34,48,50,54,56,70,72,76,74,79])))
-
 
2291
    
2290
    return query.all()
2292
    return query.all()
2291
 
2293
 
2292
def save_bluedart_settlements(map_awb_and_amount):
2294
def save_bluedart_settlements(map_awb_and_amount):
2293
    payment_client = PaymentClient().get_client()
2295
    payment_client = PaymentClient().get_client()
2294
    
2296
    
Line 2380... Line 2382...
2380
<body>
2382
<body>
2381
<div>
2383
<div>
2382
    <p>Dear Customer,</p>
2384
    <p>Dear Customer,</p>
2383
    <p>
2385
    <p>
2384
        We are pleased to inform that we have shipped the order: $order_id for your product $product_name on $shipping_datetime. 
2386
        We are pleased to inform that we have shipped the order: $order_id for your product $product_name on $shipping_datetime. 
2385
        The shipment will be delivered to you via Bluedart/Aramex Courier Service vide AWB# $awb.
2387
        The shipment will be delivered to you via $courier_name Courier Service vide AWB# $awb.
2386
    </p>
2388
    </p>
2387
    <p>
2389
    <p>
2388
        Expected delivery date for your order is $expected_delivery_date. 
2390
        Expected delivery date for your order is $expected_delivery_date. 
2389
        The product can be delivered to you between business hours of 10am to 6pm. 
2391
        The product can be delivered to you between business hours of 10am to 6pm. 
2390
        You can login to your account on our site and under "Open Orders", please click the AWB and check the current shipment updates for your product.
2392
        You can login to your account on our site and under "Open Orders", please click the AWB and check the current shipment updates for your product.
2391
    </p>
2393
    </p>
2392
    <p>
2394
    <p>
2393
        For scheduling the delivery of your product at some specific timings, we recommend you to contact the helpline for Bluedart/Aramex with your complete AWB#.
2395
        For scheduling the delivery of your product at some specific timings, we recommend you to contact the helpline for Bluedart/Aramex with your complete AWB#.
2394
    </p>
2396
    </p>
2395
    <p>Bluedart: 011-66111234<br />Aramex:  0124- 39419900</p>
2397
    <p>$courier_name: $courier_phone</p>
2396
    <p>
2398
    <p>
2397
        Warm Regards,<br />
2399
        Warm Regards,<br />
2398
        Saholic Team
2400
        Saholic Team
2399
    </p>
2401
    </p>
2400
</div>
2402
</div>
2401
</body>
2403
</body>
2402
</html>
2404
</html>
2403
    """
2405
    """
-
 
2406
    logistics_providers = {1: {'name': 'BlueDart', 'phone': '011-66111234'}, 2: {'name': 'Aramex', 'phone': '0124- 39419900'}}
-
 
2407
    provider_name = logistics_providers[order.logistics_provider_id]['name']
-
 
2408
    provider_phone = logistics_providers[order.logistics_provider_id]['phone']
-
 
2409
    
2404
    dt = datetime.datetime.strptime(str(order.shipping_timestamp), "%Y-%m-%d %H:%M:%S")
2410
    dt = datetime.datetime.strptime(str(order.shipping_timestamp), "%Y-%m-%d %H:%M:%S")
2405
    shipping_date = dt.strftime("%A, %d %B %Y %I:%M%p")
2411
    shipping_date = dt.strftime("%A, %d %B %Y %I:%M%p")
2406
    product = "%s %s %s" % (order.lineitems[0].brand, order.lineitems[0].model_name, order.lineitems[0].model_number)
2412
    product = "%s %s %s" % (order.lineitems[0].brand, order.lineitems[0].model_name, order.lineitems[0].model_number)
2407
    new_expected_delivery_timestamp = datetime.datetime.now() + timedelta(adjust_delivery_time(datetime.datetime.now(), (order.promised_delivery_time - order.promised_shipping_time).days))
2413
    new_expected_delivery_timestamp = datetime.datetime.now() + timedelta(adjust_delivery_time(datetime.datetime.now(), (order.promised_delivery_time - order.promised_shipping_time).days))
2408
    new_expected_delivery_date = new_expected_delivery_timestamp.strftime("%A, %d %B %Y")
2414
    new_expected_delivery_date = new_expected_delivery_timestamp.strftime("%A, %d %B %Y")
2409
    info = dict(order_id = order.id, product_name = product, shipping_datetime = shipping_date, awb = order.airwaybill_no, expected_delivery_date = new_expected_delivery_date)
2415
    info = dict(order_id = order.id, product_name = product, shipping_datetime = shipping_date, awb = order.airwaybill_no, expected_delivery_date = new_expected_delivery_date, courier_name = provider_name, courier_phone = provider_phone)
2410
    return Template(html).substitute(info)
2416
    return Template(html).substitute(info)
2411
 
2417
 
2412
def enqueue_shipping_confirmation_email(orders):
2418
def enqueue_shipping_confirmation_email(orders):
2413
    # Calling helper service on production
2419
    # Calling helper service on production
2414
    helperClient = HelperClient(host_key = "helper_service_server_host_prod").get_client()
2420
    helperClient = HelperClient(host_key = "helper_service_server_host_prod").get_client()
2415
 
2421
    
2416
    for order in orders:
2422
    for order in orders:
2417
        try:
2423
        try:
2418
            emailSubject = 'Shipping Details for Order ID: ' + str(order.id)
2424
            emailSubject = 'Shipping Details for Order ID: ' + str(order.id)
2419
            emailBody = get_shipping_confirmation_email_body(order)
2425
            emailBody = get_shipping_confirmation_email_body(order)
2420
            helperClient.saveUserEmailForSending(order.customer_email, None, emailSubject, emailBody, '', 'ShippingConfirmation')
2426
            helperClient.saveUserEmailForSending(order.customer_email, None, emailSubject, emailBody, '', 'ShippingConfirmation')
Line 2432... Line 2438...
2432
    query = query.filter(Order.created_timestamp >= start_datetime)
2438
    query = query.filter(Order.created_timestamp >= start_datetime)
2433
    query = query.filter(Order.created_timestamp <= end_datetime)
2439
    query = query.filter(Order.created_timestamp <= end_datetime)
2434
    return query.all()
2440
    return query.all()
2435
 
2441
 
2436
def update_orders_as_paid_to_vendor(order_id):
2442
def update_orders_as_paid_to_vendor(order_id):
2437
    query = Order.query.filter(Order.originalOrderId == order_id)
-
 
2438
    query = query.filter(Order.id == order_id)
2443
    paid_order = Order.get_by(id = order_id)
2439
    
2444
    
-
 
2445
    if paid_order.originalOrderId is None:
-
 
2446
        paid_order.vendor_paid = True
2440
    for order in query.all():
2447
        session.commit()
-
 
2448
        
-
 
2449
        for order in Order.query.filter(Order.originalOrderId == order_id).all():
-
 
2450
            order.vendor_paid = True
-
 
2451
            session.commit()
-
 
2452
    else:
-
 
2453
        original_order_id = None
-
 
2454
        
-
 
2455
        for order in Order.query.filter(Order.originalOrderId == order_id).all():
2441
        order.vendor_paid = True
2456
            order.vendor_paid = True
-
 
2457
            session.commit()
-
 
2458
            original_order_id = order.originalOrderId
-
 
2459
        
-
 
2460
        original_order = Order.get_by(id = original_order_id)
-
 
2461
        if original_order:  original_order.vendor_paid = True
2442
        session.commit()
2462
        session.commit()
2443
 
2463
 
2444
def close_session():
2464
def close_session():
2445
    if session.is_active:
2465
    if session.is_active:
2446
        print "session is active. closing it."
2466
        print "session is active. closing it."