brotherton-erpnext/patches/december_2012/production_cleanup.py

47 lines
1.6 KiB
Python
Raw Normal View History

2012-12-10 13:58:38 +00:00
import webnotes
def execute():
2012-12-10 13:32:38 +00:00
delete_doctypes()
rename_module()
2012-12-11 09:44:30 +00:00
rebuilt_exploded_bom()
2012-12-14 08:55:51 +00:00
cleanup_bom()
2012-12-10 13:32:38 +00:00
def delete_doctypes():
from webnotes.model import delete_doc
delete_doc("DocType", "Production Control")
2012-12-10 13:32:38 +00:00
delete_doc("DocType", "BOM Control")
2012-12-14 08:55:51 +00:00
2012-12-10 13:32:38 +00:00
def rename_module():
2012-12-10 14:07:49 +00:00
webnotes.reload_doc("core", "doctype", "role")
webnotes.reload_doc("core", "doctype", "page")
webnotes.reload_doc("core", "doctype", "module_def")
2012-12-11 09:48:51 +00:00
if webnotes.conn.exists("Role", "Production User"):
webnotes.rename_doc("Role", "Production User", "Manufacturing User")
if webnotes.conn.exists("Role", "Production Manager"):
webnotes.rename_doc("Role", "Production Manager", "Manufacturing Manager")
2012-12-10 14:07:49 +00:00
if webnotes.conn.exists("Page", "manufacturing-home"):
webnotes.delete_doc("Page", "production-home")
else:
webnotes.rename_doc("Page", "production-home", "manufacturing-home")
2012-12-11 09:48:51 +00:00
if webnotes.conn.exists("Module Def", "Production"):
webnotes.rename_doc("Module Def", "Production", "Manufacturing")
2012-12-10 13:58:38 +00:00
webnotes.conn.set_global("modules_list",
webnotes.conn.get_global('modules_list').replace("Production", "Manufacturing"))
2012-12-11 13:08:58 +00:00
# set end of life to null if "0000-00-00"
webnotes.conn.sql("""update `tabItem` set end_of_life=null where end_of_life='0000-00-00'""")
2012-12-10 13:32:38 +00:00
2012-12-11 09:44:30 +00:00
def rebuilt_exploded_bom():
from webnotes.model.code import get_obj
for bom in webnotes.conn.sql("""select name from `tabBOM` where docstatus < 2"""):
get_obj("BOM", bom[0], with_children=1).on_update()
2012-12-14 08:55:51 +00:00
def cleanup_bom():
webnotes.conn.sql("""UPDATE `tabBOM` SET is_active = if(is_active='Yes', 1, 0),
track_operations = 1""")