From 943457abd39dacd3a8aa632ab7ceaa6fba38da11 Mon Sep 17 00:00:00 2001 From: Anurag Mishra Date: Thu, 5 Mar 2020 18:57:52 +0530 Subject: [PATCH] fix: reverse linking for employee advance --- .../additional_salary/additional_salary.json | 18 ++++++++++++- .../employee_advance/employee_advance.js | 5 ++++ .../employee_advance/employee_advance.json | 17 +----------- .../employee_advance/employee_advance.py | 10 +++---- .../employee_incentive.json | 13 ++-------- .../employee_incentive/employee_incentive.py | 26 ++++++------------- 6 files changed, 36 insertions(+), 53 deletions(-) diff --git a/erpnext/hr/doctype/additional_salary/additional_salary.json b/erpnext/hr/doctype/additional_salary/additional_salary.json index 7d69f7e7fc..9819b384ee 100644 --- a/erpnext/hr/doctype/additional_salary/additional_salary.json +++ b/erpnext/hr/doctype/additional_salary/additional_salary.json @@ -13,6 +13,8 @@ "salary_component", "overwrite_salary_structure_amount", "deduct_full_tax_on_selected_payroll_date", + "ref_doctype", + "ref_docname", "column_break_5", "company", "payroll_date", @@ -127,11 +129,25 @@ "options": "Additional Salary", "print_hide": 1, "read_only": 1 + }, + { + "fieldname": "ref_doctype", + "fieldtype": "Link", + "label": "Reference Document Type", + "options": "DocType", + "read_only": 1 + }, + { + "fieldname": "ref_docname", + "fieldtype": "Dynamic Link", + "label": "Reference Document", + "options": "ref_doctype", + "read_only": 1 } ], "is_submittable": 1, "links": [], - "modified": "2019-12-12 19:07:23.635901", + "modified": "2020-03-05 18:54:17.763244", "modified_by": "Administrator", "module": "HR", "name": "Additional Salary", diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.js b/erpnext/hr/doctype/employee_advance/employee_advance.js index c5d044a187..38561d41a8 100644 --- a/erpnext/hr/doctype/employee_advance/employee_advance.js +++ b/erpnext/hr/doctype/employee_advance/employee_advance.js @@ -74,6 +74,11 @@ frappe.ui.form.on('Employee Advance', { method: "erpnext.hr.doctype.employee_advance.employee_advance.create_return_through_additional_salary", args: { doc: frm.doc + }, + callback: function (r){ + console.log("Helloxs") + var doclist = frappe.model.sync(r.message); + frappe.set_route("Form", doclist[0].doctype, doclist[0].name); } }); }, diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.json b/erpnext/hr/doctype/employee_advance/employee_advance.json index 7f599a74c7..1ab2356c8e 100644 --- a/erpnext/hr/doctype/employee_advance/employee_advance.json +++ b/erpnext/hr/doctype/employee_advance/employee_advance.json @@ -14,8 +14,6 @@ "column_break_4", "posting_date", "repay_unclaimed_amount_from_salary", - "payroll_date", - "salary_component", "section_break_8", "purpose", "column_break_11", @@ -178,24 +176,11 @@ "fieldname": "repay_unclaimed_amount_from_salary", "fieldtype": "Check", "label": "Repay unclaimed amount from salary" - }, - { - "depends_on": "eval:doc.repay_unclaimed_amount_from_salary == 1", - "fieldname": "payroll_date", - "fieldtype": "Date", - "label": "Payroll date" - }, - { - "depends_on": "eval:doc.repay_unclaimed_amount_from_salary == 1", - "fieldname": "salary_component", - "fieldtype": "Link", - "label": "Salary Component", - "options": "Salary Component" } ], "is_submittable": 1, "links": [], - "modified": "2020-01-03 13:02:32.094099", + "modified": "2020-03-05 16:31:50.417539", "modified_by": "Administrator", "module": "HR", "name": "Employee Advance", diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.py b/erpnext/hr/doctype/employee_advance/employee_advance.py index feedccca12..a9cccd7b28 100644 --- a/erpnext/hr/doctype/employee_advance/employee_advance.py +++ b/erpnext/hr/doctype/employee_advance/employee_advance.py @@ -138,16 +138,12 @@ def create_return_through_additional_salary(doc): doc = frappe._dict(json.loads(doc)) additional_salary = frappe.new_doc('Additional Salary') additional_salary.employee = doc.employee - additional_salary.salary_component = doc.salary_component additional_salary.amount = doc.paid_amount - doc.claimed_amount - additional_salary.payroll_date = doc.payroll_date additional_salary.company = doc.company + additional_salary.ref_doctype = doc.doctype + additional_salary.ref_docname = doc.name - additional_salary.submit() - - frappe.db.set_value("Employee Advance", doc.name, "return_amount", additional_salary.amount) - - return additional_salary.name + return additional_salary @frappe.whitelist() def make_return_entry(employee_name, company, employee_advance_name, return_amount, mode_of_payment, advance_account): diff --git a/erpnext/hr/doctype/employee_incentive/employee_incentive.json b/erpnext/hr/doctype/employee_incentive/employee_incentive.json index ce8e1ea230..e2d8a11f47 100644 --- a/erpnext/hr/doctype/employee_incentive/employee_incentive.json +++ b/erpnext/hr/doctype/employee_incentive/employee_incentive.json @@ -9,10 +9,9 @@ "employee", "incentive_amount", "employee_name", - "additional_salary", + "salary_component", "column_break_5", "payroll_date", - "salary_component", "department", "amended_from" ], @@ -65,14 +64,6 @@ "options": "Department", "read_only": 1 }, - { - "fieldname": "additional_salary", - "fieldtype": "Link", - "label": "Additional Salary", - "no_copy": 1, - "options": "Additional Salary", - "read_only": 1 - }, { "fieldname": "salary_component", "fieldtype": "Link", @@ -83,7 +74,7 @@ ], "is_submittable": 1, "links": [], - "modified": "2019-12-12 13:24:44.761540", + "modified": "2020-03-05 18:59:40.526014", "modified_by": "Administrator", "module": "HR", "name": "Employee Incentive", diff --git a/erpnext/hr/doctype/employee_incentive/employee_incentive.py b/erpnext/hr/doctype/employee_incentive/employee_incentive.py index 2e138f8ef5..1cc52e1112 100644 --- a/erpnext/hr/doctype/employee_incentive/employee_incentive.py +++ b/erpnext/hr/doctype/employee_incentive/employee_incentive.py @@ -10,11 +10,13 @@ class EmployeeIncentive(Document): def on_submit(self): company = frappe.db.get_value('Employee', self.employee, 'company') additional_salary = frappe.db.exists('Additional Salary', { - 'employee': self.employee, + 'employee': self.employee, + 'ref_doctype': self.doctype, + 'ref_docname': self.name, 'salary_component': self.salary_component, - 'payroll_date': self.payroll_date, + 'payroll_date': self.payroll_date, 'company': company, - 'docstatus': 1 + 'docstatus': ["!=", 2] }) if not additional_salary: @@ -24,22 +26,10 @@ class EmployeeIncentive(Document): additional_salary.amount = self.incentive_amount additional_salary.payroll_date = self.payroll_date additional_salary.company = company + additional_salary.ref_doctype = self.doctype + additional_salary.ref_docname = self.name additional_salary.submit() - self.db_set('additional_salary', additional_salary.name) - else: incentive_added = frappe.db.get_value('Additional Salary', additional_salary, 'amount') + self.incentive_amount - frappe.db.set_value('Additional Salary', additional_salary, 'amount', incentive_added) - self.db_set('additional_salary', additional_salary) + frappe.db.set_value('Additional Salary', additional_salary, {'amount', incentive_added}) - def on_cancel(self): - if self.additional_salary: - incentive_removed = frappe.db.get_value('Additional Salary', self.additional_salary, 'amount') - self.incentive_amount - if incentive_removed == 0: - frappe.get_doc('Additional Salary', self.additional_salary).cancel() - else: - frappe.db.set_value('Additional Salary', self.additional_salary, 'amount', incentive_removed) - - self.db_set('additional_salary', '') - -