* chore: patch fixes (cherry picked from commit 8b5b146f6d2720587a16f78a8d47840be8dca2b7) # Conflicts: # erpnext/patches/v13_0/make_homepage_products_website_items.py * fix: remove desktop icons while deleting sales reports (cherry picked from commit 5f72026cb932d01fc827c382747e996a94b441fd) * refactor: dont ignore dangerous exceptions in patches (cherry picked from commit 0aa1ea8aeb7757592616bd491de98c69fef08854) * fix: make patch kinda idempotent with previous query rerunning would've caused all values to become 0. * chore: conflicts * fix: check type before patching Co-authored-by: Saurabh <saurabh6790@gmail.com> Co-authored-by: Ankush Menat <ankush@frappe.io>
		
			
				
	
	
		
			30 lines
		
	
	
		
			726 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			726 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))
 |