Serial no status fix: patch to set status not available where no sle exists
This commit is contained in:
17
patches/1401/fix_serial_no_status_and_warehouse.py
Normal file
17
patches/1401/fix_serial_no_status_and_warehouse.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
|
||||||
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
import webnotes
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
serial_nos = webnotes.conn.sql("""select name from `tabSerial No` where docstatus=0
|
||||||
|
and status in ('Available', 'Sales Returned') and ifnull(warehouse, '') = ''""")
|
||||||
|
for sr in serial_nos:
|
||||||
|
try:
|
||||||
|
sr_bean = webnotes.bean("Serial No", sr[0])
|
||||||
|
sr_bean.make_controller().via_stock_ledger = True
|
||||||
|
sr_bean.save()
|
||||||
|
webnotes.conn.commit()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
@@ -267,4 +267,5 @@ patch_list = [
|
|||||||
"patches.1401.p01_make_buying_selling_as_check_box_in_price_list",
|
"patches.1401.p01_make_buying_selling_as_check_box_in_price_list",
|
||||||
"patches.1401.update_billing_status_for_zero_value_order",
|
"patches.1401.update_billing_status_for_zero_value_order",
|
||||||
"patches.1401.enable_all_price_list",
|
"patches.1401.enable_all_price_list",
|
||||||
|
"patches.1401.fix_serial_no_status_and_warehouse",
|
||||||
]
|
]
|
||||||
@@ -87,6 +87,8 @@ class DocType(StockController):
|
|||||||
self.doc.status = "Sales Returned"
|
self.doc.status = "Sales Returned"
|
||||||
else:
|
else:
|
||||||
self.doc.status = "Available"
|
self.doc.status = "Available"
|
||||||
|
if not self.doc.warehouse:
|
||||||
|
self.doc.warehouse = last_sle.warehouse
|
||||||
else:
|
else:
|
||||||
if document_type == "Purchase Return":
|
if document_type == "Purchase Return":
|
||||||
self.doc.status = "Purchase Returned"
|
self.doc.status = "Purchase Returned"
|
||||||
@@ -94,6 +96,8 @@ class DocType(StockController):
|
|||||||
self.doc.status = "Delivered"
|
self.doc.status = "Delivered"
|
||||||
else:
|
else:
|
||||||
self.doc.status = "Not Available"
|
self.doc.status = "Not Available"
|
||||||
|
else:
|
||||||
|
self.doc.status = "Not Available"
|
||||||
|
|
||||||
def set_purchase_details(self, purchase_sle):
|
def set_purchase_details(self, purchase_sle):
|
||||||
if purchase_sle:
|
if purchase_sle:
|
||||||
@@ -185,7 +189,6 @@ class DocType(StockController):
|
|||||||
def on_stock_ledger_entry(self):
|
def on_stock_ledger_entry(self):
|
||||||
if self.via_stock_ledger and not self.doc.fields.get("__islocal"):
|
if self.via_stock_ledger and not self.doc.fields.get("__islocal"):
|
||||||
last_sle = self.get_last_sle()
|
last_sle = self.get_last_sle()
|
||||||
if last_sle:
|
|
||||||
self.set_status(last_sle.get("last_sle"))
|
self.set_status(last_sle.get("last_sle"))
|
||||||
self.set_purchase_details(last_sle.get("purchase_sle"))
|
self.set_purchase_details(last_sle.get("purchase_sle"))
|
||||||
self.set_sales_details(last_sle.get("delivery_sle"))
|
self.set_sales_details(last_sle.get("delivery_sle"))
|
||||||
|
|||||||
Reference in New Issue
Block a user