Retention Bonus - menu, validate
diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py
index c2ccbd3..ef28ee8 100644
--- a/erpnext/config/hr.py
+++ b/erpnext/config/hr.py
@@ -106,6 +106,10 @@
"type": "doctype",
"name": "Employee Incentive",
},
+ {
+ "type": "doctype",
+ "name": "Retention Bonus",
+ },
]
},
{
diff --git a/erpnext/hr/doctype/retention_bonus/retention_bonus.js b/erpnext/hr/doctype/retention_bonus/retention_bonus.js
index b481af0..58f6b53 100644
--- a/erpnext/hr/doctype/retention_bonus/retention_bonus.js
+++ b/erpnext/hr/doctype/retention_bonus/retention_bonus.js
@@ -2,6 +2,15 @@
// For license information, please see license.txt
frappe.ui.form.on('Retention Bonus', {
+ setup: function(frm) {
+ frm.set_query("employee", function() {
+ return {
+ filters: {
+ "status": "Active"
+ }
+ };
+ });
+ },
refresh: function(frm) {
}
diff --git a/erpnext/hr/doctype/retention_bonus/retention_bonus.py b/erpnext/hr/doctype/retention_bonus/retention_bonus.py
index 361c9bd..20d4c13 100644
--- a/erpnext/hr/doctype/retention_bonus/retention_bonus.py
+++ b/erpnext/hr/doctype/retention_bonus/retention_bonus.py
@@ -5,10 +5,12 @@
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
+from frappe import _
+from frappe.utils import getdate
class RetentionBonus(Document):
- def on_submit(self):
- pass
-
- def on_cancel(self):
- pass
+ def validate(self):
+ if frappe.get_value("Employee", self.employee, "status") == "Left":
+ frappe.throw(_("Cannot create Retention Bonus for left Employees"))
+ if getdate(self.bonus_payment_date) < getdate():
+ frappe.throw(_("Bonus Payment Date cannot be a past date"))