Pending patches to be run from patch.py
diff --git a/erpnext/patches/pending_patches.py b/erpnext/patches/pending_patches.py
new file mode 100644
index 0000000..9ffa63a
--- /dev/null
+++ b/erpnext/patches/pending_patches.py
@@ -0,0 +1,50 @@
+def execute():
+	import webnotes
+	from webnotes.model.code import get_obj
+	from webnotes.modules.module_manager import reload_doc
+	sql = webnotes.conn.sql
+
+	reload_doc('hr', 'doctype', 'appraisal')
+	reload_doc('hr', 'doctype', 'appraisal_detail')
+
+	sql("update `tabDocField` set `hidden` = 0 where fieldname = 'group_or_ledger' and parent = 'Cost Center'")
+	sql("update tabDocPerm set amend = 0 where parent = 'Salary Structure'")
+	sql("update tabDocPerm set cancel = 1 where parent = 'Company' and role = 'System Manager'")
+	
+	if sql("select count(name) from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1:
+		sql("delete from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1")
+	if sql("select count(name) from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1:
+		sql("delete from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1")
+	
+	reload_doc('accounts', 'doctype', 'internal_reconciliation')
+	reload_doc('accounts', 'doctype', 'ir_payment_detail')
+	reload_doc('accounts', 'Module Def', 'Accounts')
+		
+		
+	reload_doc('setup', 'doctype','features_setup')
+	flds = ['page_break', 'projects', 'packing_details', 'discounts', 'brands', 'item_batch_nos', 'after_sales_installations', 'item_searial_nos', 'item_group_in_details', 'exports', 'imports', 'item_advanced', 'sales_extras', 'more_info', 'quality', 'manufacturing', 'pos', 'item_serial_nos']
+	st = "'"+"', '".join(flds)+"'"
+	sql("delete from `tabDocField` where fieldname in (%s) and parent = 'Features Setup'" % st)
+	sql("delete from `tabDefaultValue` where defkey in (%s) and parent = 'Control Panel'" % st)
+
+	fs = get_obj('Features Setup', 'Features Setup')
+	fs.doc.save()
+	fs.validate()
+		
+	if sql("select count(name) from `tabDocField` where label = 'Get Specification Details' and parent = 'QA Inspection Report' and fieldtype = 'Button'")[0][0] > 1:
+		sql("delete from `tabDocField` where label = 'Get Specification Details' and parent = 'QA Inspection Report' and fieldtype = 'Button' limit 1")
+	
+	reload_doc('stock', 'DocType Mapper', 'Purchase Order-Purchase Receipt')
+		
+	reload_doc('accounts', 'doctype', 'cost_center')
+	reload_doc('stock', 'Module Def', 'Stock')
+	sql("delete from `tabModule Def Item` where display_name = 'Serial No' and parent = 'Support'")
+	sql("update `tabDocType` set subject = 'Item Code: %(item_code)s, Warehouse: %(warehouse)s' where name = 'Serial No'")
+
+	# Patch for adding packing related columns (packed by, checked by, shipping mark etc)
+	reload_doc('stock','doctype','delivery_note')
+	sql("update `tabDocField` set allow_on_submit = 1 where fieldname = 'page_break'")
+	sql("update `tabDocField` set allow_on_submit = 1 where fieldname in ('indent_details', 'po_details', 'purchase_receipt_details', 'entries', 'sales_order_details', 'delivery_note_details', 'quotation_details') and fieldtype = 'Table'")
+		
+	from webnotes.session_cache import clear_cache
+	clear_cache(webnotes.session['user'])