Validation added to prevent user from creating salary structure with 'From Date' before employee 'Date of joining'

This commit is contained in:
Neil Trini Lasrado
2015-06-12 16:14:25 +05:30
parent 87edd86854
commit 82cc2921d1

View File

@@ -4,7 +4,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import frappe import frappe
from frappe.utils import cstr, flt from frappe.utils import cstr, flt, getdate
from frappe.model.naming import make_autoname from frappe.model.naming import make_autoname
from frappe import _ from frappe import _
from frappe.model.mapper import get_mapped_doc from frappe.model.mapper import get_mapped_doc
@@ -14,6 +14,13 @@ from erpnext.hr.utils import set_employee_name
class SalaryStructure(Document): class SalaryStructure(Document):
def autoname(self): def autoname(self):
self.name = make_autoname(self.employee + '/.SST' + '/.#####') self.name = make_autoname(self.employee + '/.SST' + '/.#####')
def validate(self):
self.check_existing()
self.validate_amount()
self.validate_employee()
self.validate_joining_date()
set_employee_name(self)
def get_employee_details(self): def get_employee_details(self):
ret = {} ret = {}
@@ -77,14 +84,11 @@ class SalaryStructure(Document):
old_employee = frappe.db.get_value("Salary Structure", self.name, "employee") old_employee = frappe.db.get_value("Salary Structure", self.name, "employee")
if old_employee and self.employee != old_employee: if old_employee and self.employee != old_employee:
frappe.throw(_("Employee can not be changed")) frappe.throw(_("Employee can not be changed"))
def validate_joining_date(self):
def validate(self): joining_date = getdate(frappe.db.get_value("Employee", self.employee, "date_of_joining"))
self.check_existing() if getdate(self.from_date) < joining_date:
self.validate_amount() frappe.throw(_("From Date in Salary Structure cannot be lesser than Employee Joining Date."))
self.validate_employee()
set_employee_name(self)
@frappe.whitelist() @frappe.whitelist()
def make_salary_slip(source_name, target_doc=None): def make_salary_slip(source_name, target_doc=None):