fix: reverse linking for employee advance
diff --git a/erpnext/hr/doctype/additional_salary/additional_salary.json b/erpnext/hr/doctype/additional_salary/additional_salary.json
index 7d69f7e..9819b38 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 c5d044a..38561d4 100644
--- a/erpnext/hr/doctype/employee_advance/employee_advance.js
+++ b/erpnext/hr/doctype/employee_advance/employee_advance.js
@@ -74,6 +74,11 @@
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 7f599a7..1ab2356 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 feedccc..a9cccd7 100644
--- a/erpnext/hr/doctype/employee_advance/employee_advance.py
+++ b/erpnext/hr/doctype/employee_advance/employee_advance.py
@@ -138,16 +138,12 @@
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 ce8e1ea..e2d8a11 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"
],
@@ -66,14 +65,6 @@
"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",
"label": "Salary Component",
@@ -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 2e138f8..1cc52e1 100644
--- a/erpnext/hr/doctype/employee_incentive/employee_incentive.py
+++ b/erpnext/hr/doctype/employee_incentive/employee_incentive.py
@@ -10,11 +10,13 @@
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 @@
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', '')
-
-