[patch] [minor] fix serial no status
diff --git a/patches/october_2013/p01_fix_serial_no_status.py b/patches/october_2013/p01_fix_serial_no_status.py
new file mode 100644
index 0000000..8700290
--- /dev/null
+++ b/patches/october_2013/p01_fix_serial_no_status.py
@@ -0,0 +1,40 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+from webnotes.utils import flt
+
+def execute():
+ serial_nos = webnotes.conn.sql("""select name, item_code, status from `tabSerial No`
+ where status!='Not in Use'""", as_dict=1)
+ for sr in serial_nos:
+ last_sle = webnotes.conn.sql("""select voucher_type, voucher_no, actual_qty
+ from `tabStock Ledger Entry` where serial_no like %s and item_code=%s
+ order by name desc limit 1""",
+ ("%%%s%%" % sr.name, sr.item_code), as_dict=1)
+
+ if flt(last_sle[0].actual_qty) > 0:
+ if last_sle[0].voucher_type == "Stock Entry" and webnotes.conn.get_value("Stock Entry",
+ last_sle[0].voucher_no, "purpose") == "Sales Return":
+ status = "Sales Returned"
+ else:
+ status = "Available"
+ else:
+ if last_sle[0].voucher_type == "Stock Entry":
+ purpose = webnotes.conn.get_value("Stock Entry", last_sle[0].voucher_no, "purpose")
+ if purpose == "Purchase Return":
+ status = "Purchase Returned"
+ else:
+ status = "Not Available"
+ else:
+ status = "Delivered"
+ if sr.status != status:
+ webnotes.conn.sql("""update `tabSerial No` set status=%s where name=%s""",
+ (status, sr.name))
+
+ webnotes.conn.sql("""update `tabSerial No` set warehouse=''
+ where status in ('Delivered', 'Purchase Returned')""")
+
+
+
\ No newline at end of file