From ea089d67ce087bb94aaa5ad53a93260a7ca5ac38 Mon Sep 17 00:00:00 2001 From: Ranjith Kurungadam Date: Mon, 9 Jul 2018 14:01:18 +0530 Subject: [PATCH] Employee Benefit Application - fix (#14837) --- .../employee_benefit_application.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py b/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py index 210cc6737f..a117997d97 100644 --- a/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py +++ b/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py @@ -14,12 +14,15 @@ from erpnext.hr.utils import get_sal_slip_total_benefit_given, get_holidays_for_ class EmployeeBenefitApplication(Document): def validate(self): self.validate_duplicate_on_payroll_period() - if flt(self.max_benefits) <= 0: - frappe.throw(_("Employee {0} has no maximum benefit amount").format(self.employee)) - self.validate_max_benefit_for_component() - self.validate_prev_benefit_claim() - if self.remaining_benefit > 0: - self.validate_remaining_benefit_amount() + if not self.max_benefits: + self.max_benefits = get_max_benefits_remaining(self.employee, self.date, self.payroll_period) + if self.max_benefits and self.max_benefits > 0: + self.validate_max_benefit_for_component() + self.validate_prev_benefit_claim() + if self.remaining_benefit > 0: + self.validate_remaining_benefit_amount() + else: + frappe.throw(_("As per your assigned Salary Structure you cannot apply for benefits").format(self.employee)) def validate_prev_benefit_claim(self): if self.employee_benefits: