60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import frappe
 | |
| from frappe.model.utils.rename_field import rename_field
 | |
| 
 | |
| 
 | |
| def execute():
 | |
| 	frappe.reload_doc("automation", "doctype", "auto_repeat")
 | |
| 
 | |
| 	doctypes_to_rename = {
 | |
| 		"accounts": ["Journal Entry", "Payment Entry", "Purchase Invoice", "Sales Invoice"],
 | |
| 		"buying": ["Purchase Order", "Supplier Quotation"],
 | |
| 		"selling": ["Quotation", "Sales Order"],
 | |
| 		"stock": ["Delivery Note", "Purchase Receipt"],
 | |
| 	}
 | |
| 
 | |
| 	for module, doctypes in doctypes_to_rename.items():
 | |
| 		for doctype in doctypes:
 | |
| 			frappe.reload_doc(module, "doctype", frappe.scrub(doctype))
 | |
| 
 | |
| 			if frappe.db.has_column(doctype, "subscription"):
 | |
| 				rename_field(doctype, "subscription", "auto_repeat")
 | |
| 
 | |
| 	subscriptions = frappe.db.sql("select * from `tabSubscription`", as_dict=1)
 | |
| 
 | |
| 	for doc in subscriptions:
 | |
| 		doc["doctype"] = "Auto Repeat"
 | |
| 		auto_repeat = frappe.get_doc(doc)
 | |
| 		auto_repeat.db_insert()
 | |
| 
 | |
| 	frappe.db.sql("delete from `tabSubscription`")
 | |
| 	frappe.db.commit()
 | |
| 	drop_columns_from_subscription()
 | |
| 
 | |
| 
 | |
| def drop_columns_from_subscription():
 | |
| 	fields_to_drop = {"Subscription": []}
 | |
| 	for field in [
 | |
| 		"naming_series",
 | |
| 		"reference_doctype",
 | |
| 		"reference_document",
 | |
| 		"start_date",
 | |
| 		"end_date",
 | |
| 		"submit_on_creation",
 | |
| 		"disabled",
 | |
| 		"frequency",
 | |
| 		"repeat_on_day",
 | |
| 		"next_schedule_date",
 | |
| 		"notify_by_email",
 | |
| 		"subject",
 | |
| 		"recipients",
 | |
| 		"print_format",
 | |
| 		"message",
 | |
| 		"status",
 | |
| 		"amended_from",
 | |
| 	]:
 | |
| 
 | |
| 		if field in frappe.db.get_table_columns("Subscription"):
 | |
| 			fields_to_drop["Subscription"].append(field)
 | |
| 
 | |
| 	frappe.model.delete_fields(fields_to_drop, delete=1)
 |