fix: Resolved conflicts in patches
This commit is contained in:
		
							parent
							
								
									174104c0d4
								
							
						
					
					
						commit
						ce49e6ccf7
					
				| @ -340,4 +340,5 @@ erpnext.patches.v14_0.rearrange_company_fields | |||||||
| erpnext.patches.v14_0.update_leave_notification_template | erpnext.patches.v14_0.update_leave_notification_template | ||||||
| erpnext.patches.v14_0.restore_einvoice_fields | erpnext.patches.v14_0.restore_einvoice_fields | ||||||
| erpnext.patches.v13_0.update_sane_transfer_against | erpnext.patches.v13_0.update_sane_transfer_against | ||||||
| erpnext.patches.v12_0.add_company_link_to_einvoice_settings | 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