[patch] perpetual accounting patch
diff --git a/patches/august_2013/p01_perpetual_accounting_patch.py b/patches/august_2013/p01_perpetual_accounting_patch.py
new file mode 100644
index 0000000..de231a1
--- /dev/null
+++ b/patches/august_2013/p01_perpetual_accounting_patch.py
@@ -0,0 +1,33 @@
+import webnotes
+from webnotes.utils import cint
+
+def execute():
+	copy_perpetual_accounting_settings()
+	set_missing_cost_center()
+
+def set_missing_cost_center():
+	reload_docs = [
+		["stock", "doctype", "serial_no"], 
+		["stock", "doctype", "stock_reconciliation"],
+		["stock", "doctype", "stock_entry"]
+	]
+	for d in reload_docs:
+		webnotes.reload_doc(d[0], d[1], d[2])
+	
+	if cint(webnotes.defaults.get_global_default("perpetual_accounting")):
+		for dt in ["Serial No", "Stock Reconciliation", "Stock Entry"]:
+			webnotes.conn.sql("""update `tab%s` t1, tabCompany t2 
+				set t1.cost_center=t2.stock_adjustment_cost_center 
+				where t1.company = t2.name""" % dt)
+		
+def copy_perpetual_accounting_settings():
+	webnotes.reload_doc("accounts", "doctype", "accounts_settings")
+	aii_enabled = cint(webnotes.conn.get_value("Global Defaults", None, 
+		"auto_inventory_accounting"))
+	if aii_enabled:
+		try:
+			bean= webnotes.bean("Account Settings")
+			bean.doc.perpetual_accounting = aii_enabled
+			bean.save()
+		except:
+			pass
\ No newline at end of file
diff --git a/patches/june_2013/p09_update_global_defaults.py b/patches/june_2013/p09_update_global_defaults.py
index 0148b67..44d36e1 100644
--- a/patches/june_2013/p09_update_global_defaults.py
+++ b/patches/june_2013/p09_update_global_defaults.py
@@ -3,7 +3,6 @@
 def execute():
 	from_global_defaults = {
 		"credit_controller": "Accounts Settings",
-		"auto_inventory_accounting": "Accounts Settings",
 		"acc_frozen_upto": "Accounts Settings",
 		"bde_auth_role": "Accounts Settings",
 		"auto_indent": "Stock Settings",
diff --git a/patches/may_2013/p01_conversion_factor_and_aii.py b/patches/may_2013/p01_conversion_factor_and_aii.py
index 2fd0d36..e207653 100644
--- a/patches/may_2013/p01_conversion_factor_and_aii.py
+++ b/patches/may_2013/p01_conversion_factor_and_aii.py
@@ -5,8 +5,7 @@
 def execute():
 	webnotes.conn.auto_commit_on_many_writes = True
 	
-	aii_enabled = cint(webnotes.conn.get_value("Global Defaults", None, 
-		"auto_inventory_accounting"))
+	aii_enabled = cint(webnotes.defaults.get_global_default("perpetual_accounting"))
 	
 	if aii_enabled:
 		create_stock_in_hand_jv(reverse = True)
diff --git a/patches/may_2013/p05_update_cancelled_gl_entries.py b/patches/may_2013/p05_update_cancelled_gl_entries.py
index 59eed7e..1dda214 100644
--- a/patches/may_2013/p05_update_cancelled_gl_entries.py
+++ b/patches/may_2013/p05_update_cancelled_gl_entries.py
@@ -19,8 +19,7 @@
 from webnotes.utils import cint
 
 def execute():
-	aii_enabled = cint(webnotes.conn.get_value("Global Defaults", None, 
-		"auto_inventory_accounting"))
+	aii_enabled = cint(webnotes.defaults.get_global_default("perpetual_accounting"))
 	
 	if aii_enabled:
 		webnotes.conn.sql("""update `tabGL Entry` gle set is_cancelled = 'Yes' 
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 1426539..b20fcfd 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -264,4 +264,5 @@
 	"patches.july_2013.p10_change_partner_user_to_website_user",
 	"patches.july_2013.p11_update_price_list_currency",
 	"execute:webnotes.bean('Selling Settings').save() #2013-07-29",
+	"patches.august_2013.p01_perpetual_accounting_patch",
 ]
\ No newline at end of file