Subversion Repositories SmartDukaan

Rev

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

Rev 7715 Rev 7720
Line 914... Line 914...
914
    else:
914
    else:
915
        freebie_orderId = get_order_attribute_value(order.id, "freebieOrderId")
915
        freebie_orderId = get_order_attribute_value(order.id, "freebieOrderId")
916
        if freebie_orderId != "":
916
        if freebie_orderId != "":
917
            line_items = get_line_items_for_order(int(freebie_orderId))
917
            line_items = get_line_items_for_order(int(freebie_orderId))
918
            freebie_order = get_order(int(freebie_orderId))
918
            freebie_order = get_order(int(freebie_orderId))
-
 
919
            if order.cod:
-
 
920
                freebie_shipping_time = datetime.datetime.now() + datetime.timedelta(hours = 72)
-
 
921
                freebie_text = freebie_text + "We wish to inform you that your freebie item " +line_items[0].brand + " " + line_items[0].model_name + " " + line_items[0].model_number + " will be shipped by" + freebie_shipping_time.strftime("%A, %d. %B %Y") + "<br/>"
-
 
922
            else:
919
            freebie_text = freebie_text + " We wish to inform you that your freebie item " +line_items[0].brand + " " + line_items[0].model_name + " " + line_items[0].model_number + " will be sent as a separate order with OrderId : " + freebie_orderId + " and is expected to be delivered on " + freebie_order.expected_delivery_time.strftime("%A, %d %B %Y")+ "<br/>You can track the status of this order from My Orders section in saholic.com" 
923
                freebie_text = freebie_text + " We wish to inform you that your freebie item " +line_items[0].brand + " " + line_items[0].model_name + " " + line_items[0].model_number + " will be sent as a separate order with OrderId : " + freebie_orderId + " and is expected to be delivered on " + freebie_order.expected_delivery_time.strftime("%A, %d %B %Y")+ "<br/>You can track the status of this order from My Orders section in saholic.com" 
920
    
924
    
921
    html_header = html_header + thank_you_html + """        
925
    html_header = html_header + thank_you_html + """        
922
        </p>
926
        </p>
923
        <div>
927
        <div>
924
            Order Date: $order_date <br>
928
            Order Date: $order_date <br>
Line 1270... Line 1274...
1270
                inventoryClient.reduceReservationCount(itemId, order.fulfilmentWarehouseId, sourceId, order.id, order.lineitems[0].quantity)
1274
                inventoryClient.reduceReservationCount(itemId, order.fulfilmentWarehouseId, sourceId, order.id, order.lineitems[0].quantity)
1271
                inventoryClient.reserveItemInWarehouse(itemId, warehouse.id, sourceId, order.id, to_java_date(order.created_timestamp), to_java_date(order.promised_shipping_time), order.lineitems[0].quantity)
1275
                inventoryClient.reserveItemInWarehouse(itemId, warehouse.id, sourceId, order.id, to_java_date(order.created_timestamp), to_java_date(order.promised_shipping_time), order.lineitems[0].quantity)
1272
                order.fulfilmentWarehouseId = warehouse.id
1276
                order.fulfilmentWarehouseId = warehouse.id
1273
                break
1277
                break
1274
 
1278
 
-
 
1279
def __isFreebieOrderBillable(order):
-
 
1280
    parentOrderId = get_order_attribute_value(order.id, "parentOrderIdForFreebie")
-
 
1281
    parentOrder = Order.get_by(id = parentOrderId)
-
 
1282
    if parentOrder.cod and parentOrder.status!=12:
-
 
1283
        return False
-
 
1284
    else:
-
 
1285
        return True
-
 
1286
 
1275
def add_billing_details(orderId, invoice_number, serialNumbers, itemNumbers, freebieWarehouseId, billedBy, jacketNumber, billingType, fulfilmentWarehouseId, authorize):
1287
def add_billing_details(orderId, invoice_number, serialNumbers, itemNumbers, freebieWarehouseId, billedBy, jacketNumber, billingType, fulfilmentWarehouseId, authorize):
1276
    if jacketNumber is None or jacketNumber <= 0:
1288
    if jacketNumber is None or jacketNumber <= 0:
1277
        raise TransactionServiceException(110, "Invalid jacket number")
1289
        raise TransactionServiceException(110, "Invalid jacket number")
1278
    
1290
    
1279
    if billedBy is None or billedBy.strip() == "":
1291
    if billedBy is None or billedBy.strip() == "":
Line 1321... Line 1333...
1321
                raise TransactionServiceException(110,'No warehouseId provided for billing of freebie ')
1333
                raise TransactionServiceException(110,'No warehouseId provided for billing of freebie ')
1322
        else:
1334
        else:
1323
            raise TransactionServiceException(110,'Order with freebies associated with it cant be billed from an external warehouse ')
1335
            raise TransactionServiceException(110,'Order with freebies associated with it cant be billed from an external warehouse ')
1324
    lineitem = order.lineitems[0]
1336
    lineitem = order.lineitems[0]
1325
    item_id = lineitem.item_id
1337
    item_id = lineitem.item_id
-
 
1338
 
-
 
1339
    '''
-
 
1340
    Checking if order is a freebie split-order and if the order is cod and if the original order is marked as delivered.
1326
    
1341
    '''
-
 
1342
    freebie_order_info_text = "Freebie Order for Order ID"
-
 
1343
    if freebie_order_info_text in lineitem.extra_info:
-
 
1344
        canbillOrder = __isFreebieOrderBillable(order)
-
 
1345
        if canbillOrder == False:
-
 
1346
            raise TransactionServiceException(110,'Parent order for this is COD and is still undelivered')
1327
#    inventoryClient = InventoryClient().get_client()
1347
#    inventoryClient = InventoryClient().get_client()
1328
#    if not inventoryClient.isOrderBillable(item_id, order.fulfilmentWarehouseId, sourceId, orderId):
1348
#    if not inventoryClient.isOrderBillable(item_id, order.fulfilmentWarehouseId, sourceId, orderId):
1329
#        raise TransactionServiceException(101, "There are other orders to be billed before this order id " + str(orderId))
1349
#        raise TransactionServiceException(101, "There are other orders to be billed before this order id " + str(orderId))
1330
    
1350
    
1331
    catalog_client = CatalogClient().get_client()
1351
    catalog_client = CatalogClient().get_client()
Line 3926... Line 3946...
3926
    else:
3946
    else:
3927
        freebie_orderId = get_order_attribute_value(order.id, "freebieOrderId")
3947
        freebie_orderId = get_order_attribute_value(order.id, "freebieOrderId")
3928
        if freebie_orderId != "":
3948
        if freebie_orderId != "":
3929
            line_items = get_line_items_for_order(int(freebie_orderId))
3949
            line_items = get_line_items_for_order(int(freebie_orderId))
3930
            freebie_order = get_order(int(freebie_orderId))
3950
            freebie_order = get_order(int(freebie_orderId))
-
 
3951
            if order.cod:
-
 
3952
                freebie_text = freebie_text + "We wish to inform you that your freebie item " +line_items[0].brand + " " + line_items[0].model_name + " " + line_items[0].model_number + " will be shipped within 72 hours of delivery of your product<br/>"
-
 
3953
            else:
3931
            freebie_text = freebie_text + "We wish to inform you that your freebie item " +line_items[0].brand + " " + line_items[0].model_name + " " + line_items[0].model_number + " will be sent as a separate order with OrderId : " + freebie_orderId + " and is expected to be delivered on " + freebie_order.expected_delivery_time.strftime("%A, %d %B %Y")+ "<br/>"
3954
                freebie_text = freebie_text + "We wish to inform you that your freebie item " +line_items[0].brand + " " + line_items[0].model_name + " " + line_items[0].model_number + " will be sent as a separate order with OrderId : " + freebie_orderId + " and is expected to be delivered on " + freebie_order.expected_delivery_time.strftime("%A, %d %B %Y")+ "<br/>"
3932
        else:
3955
        else:
3933
            freebie_text = ""
3956
            freebie_text = ""
3934
        
3957
        
3935
    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, source_name = source_name, otg_text = otg_text, freebie_text = freebie_text)
3958
    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, source_name = source_name, otg_text = otg_text, freebie_text = freebie_text)
3936
    return Template(html).substitute(info)
3959
    return Template(html).substitute(info)