fix(patch): check if column is present while fixing reverse linking (backport #30737) (#30739)

Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
This commit is contained in:
mergify[bot]
2022-04-19 12:39:28 +05:30
committed by GitHub
parent 8e30af84cd
commit 38002e3fe2

View File

@@ -10,17 +10,22 @@ def execute():
frappe.reload_doc("hr", "doctype", "Leave Encashment") frappe.reload_doc("hr", "doctype", "Leave Encashment")
additional_salaries = frappe.get_all( if frappe.db.has_column("Leave Encashment", "additional_salary"):
"Additional Salary",
fields=["name", "salary_slip", "type", "salary_component"],
filters={"salary_slip": ["!=", ""]},
group_by="salary_slip",
)
leave_encashments = frappe.get_all( leave_encashments = frappe.get_all(
"Leave Encashment", "Leave Encashment",
fields=["name", "additional_salary"], fields=["name", "additional_salary"],
filters={"additional_salary": ["!=", ""]}, filters={"additional_salary": ["!=", ""]},
) )
for leave_encashment in leave_encashments:
frappe.db.sql(
""" UPDATE `tabAdditional Salary`
SET ref_doctype = 'Leave Encashment', ref_docname = %s
WHERE name = %s
""",
(leave_encashment["name"], leave_encashment["additional_salary"]),
)
if frappe.db.has_column("Employee Incentive", "additional_salary"):
employee_incentives = frappe.get_all( employee_incentives = frappe.get_all(
"Employee Incentive", "Employee Incentive",
fields=["name", "additional_salary"], fields=["name", "additional_salary"],
@@ -36,13 +41,12 @@ def execute():
(incentive["name"], incentive["additional_salary"]), (incentive["name"], incentive["additional_salary"]),
) )
for leave_encashment in leave_encashments: if frappe.db.has_column("Additional Salary", "salary_slip"):
frappe.db.sql( additional_salaries = frappe.get_all(
""" UPDATE `tabAdditional Salary` "Additional Salary",
SET ref_doctype = 'Leave Encashment', ref_docname = %s fields=["name", "salary_slip", "type", "salary_component"],
WHERE name = %s filters={"salary_slip": ["!=", ""]},
""", group_by="salary_slip",
(leave_encashment["name"], leave_encashment["additional_salary"]),
) )
salary_slips = [sal["salary_slip"] for sal in additional_salaries] salary_slips = [sal["salary_slip"] for sal in additional_salaries]