diff --git a/erpnext/hr/doctype/payroll_entry/payroll_entry.js b/erpnext/hr/doctype/payroll_entry/payroll_entry.js index e4ab68068c4..adc06712ef0 100644 --- a/erpnext/hr/doctype/payroll_entry/payroll_entry.js +++ b/erpnext/hr/doctype/payroll_entry/payroll_entry.js @@ -69,7 +69,7 @@ frappe.ui.form.on('Payroll Entry', { }, add_context_buttons: function(frm) { - if(frm.doc.salary_slips_submitted) { + if(frm.doc.salary_slips_submitted || (frm.doc.__onload && frm.doc.__onload.submitted_ss)) { frm.events.add_bank_entry_button(frm); } else if(frm.doc.salary_slips_created) { frm.add_custom_button(__("Submit Salary Slip"), function() { diff --git a/erpnext/hr/doctype/payroll_entry/payroll_entry.py b/erpnext/hr/doctype/payroll_entry/payroll_entry.py index dab63c4c46a..5b9c71dec20 100644 --- a/erpnext/hr/doctype/payroll_entry/payroll_entry.py +++ b/erpnext/hr/doctype/payroll_entry/payroll_entry.py @@ -13,14 +13,13 @@ from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee class PayrollEntry(Document): def onload(self): - if not self.docstatus==1: + if not self.docstatus==1 or self.salary_slips_submitted: return # check if salary slips were manually submitted entries = frappe.db.count("Salary Slip", {'payroll_entry': self.name, 'docstatus': 1}, ['name']) - if cint(entries) == len(self.employees) and not self.salary_slips_submitted: - self.db_set("salary_slips_submitted", 1) - self.reload() + if cint(entries) == len(self.employees): + self.set_onload("submitted_ss", True) def on_submit(self): self.create_salary_slips() @@ -423,7 +422,6 @@ def get_start_end_dates(payroll_frequency, start_date=None, company=None): 'start_date': start_date, 'end_date': end_date }) - def get_frequency_kwargs(frequency_name): frequency_dict = { 'monthly': {'months': 1},