fix: Resolved conflicts in patches
This commit is contained in:
		
							parent
							
								
									174104c0d4
								
							
						
					
					
						commit
						ce49e6ccf7
					
				| @ -341,3 +341,4 @@ erpnext.patches.v14_0.update_leave_notification_template | ||||
| erpnext.patches.v14_0.restore_einvoice_fields | ||||
| erpnext.patches.v13_0.update_sane_transfer_against | ||||
| erpnext.patches.v12_0.add_company_link_to_einvoice_settings | ||||
| erpnext.patches.v14_0.migrate_cost_center_allocations | ||||
|  | ||||
							
								
								
									
										45
									
								
								erpnext/patches/v14_0/migrate_cost_center_allocations.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								erpnext/patches/v14_0/migrate_cost_center_allocations.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| import frappe | ||||
| from frappe.utils import today | ||||
| 
 | ||||
| def execute(): | ||||
| 	for dt in ("cost_center_allocation", "cost_center_allocation_percentage"): | ||||
| 		frappe.reload_doc('accounts', 'doctype', dt) | ||||
| 
 | ||||
| 	cc_allocations = get_existing_cost_center_allocations() | ||||
| 	create_new_cost_center_allocation_records(cc_allocations) | ||||
| 
 | ||||
| 	frappe.delete_doc('DocType', 'Distributed Cost Center', ignore_missing=True) | ||||
| 
 | ||||
| def create_new_cost_center_allocation_records(cc_allocations): | ||||
| 	for main_cc, allocations in cc_allocations.items(): | ||||
| 		cca = frappe.new_doc("Cost Center Allocation") | ||||
| 		cca.main_cost_center = main_cc | ||||
| 		cca.valid_from = today() | ||||
| 
 | ||||
| 		for child_cc, percentage in allocations.items(): | ||||
| 			cca.append("allocation_percentages", ({ | ||||
| 				"cost_center": child_cc, | ||||
| 				"percentage": percentage | ||||
| 			})) | ||||
| 		 | ||||
| 		cca.save() | ||||
| 		cca.submit() | ||||
| 
 | ||||
| 
 | ||||
| def get_existing_cost_center_allocations(): | ||||
| 	par = frappe.qb.DocType("Cost Center") | ||||
| 	child = frappe.qb.DocType("Distributed Cost Center") | ||||
| 
 | ||||
| 	records = ( | ||||
| 		frappe.qb.from_(par) | ||||
| 			.inner_join(child).on(par.name == child.parent) | ||||
| 			.select(par.name, child.cost_center, child.percentage_allocation) | ||||
| 			.where(par.enable_distributed_cost_center == 1) | ||||
| 	).run(as_dict=True) | ||||
| 
 | ||||
| 	cc_allocations = frappe._dict() | ||||
| 	for d in records: | ||||
| 		cc_allocations.setdefault(d.name, frappe._dict())\ | ||||
| 			.setdefault(d.cost_center, d.percentage_allocation) | ||||
| 
 | ||||
| 	return cc_allocations | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user