| 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)
|