37 lines
		
	
	
		
			754 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			754 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import frappe
 | |
| 
 | |
| 
 | |
| def execute():
 | |
| 	# handle type casting for is_cancelled field
 | |
| 	module_doctypes = (
 | |
| 		("stock", "Stock Ledger Entry"),
 | |
| 		("stock", "Serial No"),
 | |
| 		("accounts", "GL Entry"),
 | |
| 	)
 | |
| 
 | |
| 	for module, doctype in module_doctypes:
 | |
| 		if (
 | |
| 			not frappe.db.has_column(doctype, "is_cancelled")
 | |
| 			or frappe.db.get_column_type(doctype, "is_cancelled").lower() == "int(1)"
 | |
| 		):
 | |
| 			continue
 | |
| 
 | |
| 		frappe.db.sql(
 | |
| 			"""
 | |
| 				UPDATE `tab{doctype}`
 | |
| 				SET is_cancelled = 0
 | |
| 				where is_cancelled in ('', NULL, 'No')""".format(
 | |
| 				doctype=doctype
 | |
| 			)
 | |
| 		)
 | |
| 		frappe.db.sql(
 | |
| 			"""
 | |
| 				UPDATE `tab{doctype}`
 | |
| 				SET is_cancelled = 1
 | |
| 				where is_cancelled = 'Yes'""".format(
 | |
| 				doctype=doctype
 | |
| 			)
 | |
| 		)
 | |
| 
 | |
| 		frappe.reload_doc(module, "doctype", frappe.scrub(doctype))
 |