97 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import frappe
 | |
| 
 | |
| 
 | |
| def execute():
 | |
| 	if "hrms" in frappe.get_installed_apps():
 | |
| 		return
 | |
| 
 | |
| 	frappe.delete_doc("Module Def", "HR", ignore_missing=True, force=True)
 | |
| 	frappe.delete_doc("Module Def", "Payroll", ignore_missing=True, force=True)
 | |
| 
 | |
| 	frappe.delete_doc("Workspace", "HR", ignore_missing=True, force=True)
 | |
| 	frappe.delete_doc("Workspace", "Payroll", ignore_missing=True, force=True)
 | |
| 
 | |
| 	print_formats = frappe.get_all(
 | |
| 		"Print Format", {"module": ("in", ["HR", "Payroll"]), "standard": "Yes"}, pluck="name"
 | |
| 	)
 | |
| 	for print_format in print_formats:
 | |
| 		frappe.delete_doc("Print Format", print_format, ignore_missing=True, force=True)
 | |
| 
 | |
| 	reports = frappe.get_all(
 | |
| 		"Report", {"module": ("in", ["HR", "Payroll"]), "is_standard": "Yes"}, pluck="name"
 | |
| 	)
 | |
| 	for report in reports:
 | |
| 		frappe.delete_doc("Report", report, ignore_missing=True, force=True)
 | |
| 
 | |
| 	# reports moved from Projects, Accounts, and Regional module to HRMS app
 | |
| 	for report in [
 | |
| 		"Project Profitability",
 | |
| 		"Employee Hours Utilization Based On Timesheet",
 | |
| 		"Unpaid Expense Claim",
 | |
| 		"Professional Tax Deductions",
 | |
| 		"Provident Fund Deductions",
 | |
| 	]:
 | |
| 		frappe.delete_doc("Report", report, ignore_missing=True, force=True)
 | |
| 
 | |
| 	doctypes = frappe.get_all(
 | |
| 		"DocType", {"module": ("in", ["HR", "Payroll"]), "custom": 0}, pluck="name"
 | |
| 	)
 | |
| 	for doctype in doctypes:
 | |
| 		frappe.delete_doc("DocType", doctype, ignore_missing=True, force=True)
 | |
| 
 | |
| 	frappe.delete_doc("DocType", "Salary Slip Loan", ignore_missing=True, force=True)
 | |
| 	frappe.delete_doc("DocType", "Salary Component Account", ignore_missing=True, force=True)
 | |
| 
 | |
| 	notifications = frappe.get_all(
 | |
| 		"Notification", {"module": ("in", ["HR", "Payroll"]), "is_standard": 1}, pluck="name"
 | |
| 	)
 | |
| 	for notifcation in notifications:
 | |
| 		frappe.delete_doc("Notification", notifcation, ignore_missing=True, force=True)
 | |
| 
 | |
| 	frappe.delete_doc("User Type", "Employee Self Service", ignore_missing=True, force=True)
 | |
| 
 | |
| 	for dt in ["Web Form", "Dashboard", "Dashboard Chart", "Number Card"]:
 | |
| 		records = frappe.get_all(
 | |
| 			dt, {"module": ("in", ["HR", "Payroll"]), "is_standard": 1}, pluck="name"
 | |
| 		)
 | |
| 		for record in records:
 | |
| 			frappe.delete_doc(dt, record, ignore_missing=True, force=True)
 | |
| 
 | |
| 	custom_fields = {
 | |
| 		"Salary Component": ["component_type"],
 | |
| 		"Employee": ["ifsc_code", "pan_number", "micr_code", "provident_fund_account"],
 | |
| 		"Company": [
 | |
| 			"hra_section",
 | |
| 			"basic_component",
 | |
| 			"hra_component",
 | |
| 			"hra_column_break",
 | |
| 			"arrear_component",
 | |
| 		],
 | |
| 		"Employee Tax Exemption Declaration": [
 | |
| 			"hra_section",
 | |
| 			"monthly_house_rent",
 | |
| 			"rented_in_metro_city",
 | |
| 			"salary_structure_hra",
 | |
| 			"hra_column_break",
 | |
| 			"annual_hra_exemption",
 | |
| 			"monthly_hra_exemption",
 | |
| 		],
 | |
| 		"Employee Tax Exemption Proof Submission": [
 | |
| 			"hra_section",
 | |
| 			"house_rent_payment_amount",
 | |
| 			"rented_in_metro_city",
 | |
| 			"rented_from_date",
 | |
| 			"rented_to_date",
 | |
| 			"hra_column_break",
 | |
| 			"monthly_house_rent",
 | |
| 			"monthly_hra_exemption",
 | |
| 			"total_eligible_hra_exemption",
 | |
| 		],
 | |
| 	}
 | |
| 
 | |
| 	for doc, fields in custom_fields.items():
 | |
| 		filters = {"dt": doc, "fieldname": ["in", fields]}
 | |
| 		records = frappe.get_all("Custom Field", filters=filters, pluck="name")
 | |
| 		for record in records:
 | |
| 			frappe.delete_doc("Custom Field", record, ignore_missing=True, force=True)
 |