mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-21 05:59:18 +00:00
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
This commit is contained in:
@@ -8,14 +8,15 @@ from math import ceil
|
|||||||
import frappe
|
import frappe
|
||||||
from frappe import _, bold
|
from frappe import _, bold
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from frappe.utils import date_diff, flt, formatdate, get_last_day, getdate
|
from frappe.utils import date_diff, flt, formatdate, get_last_day, get_link_to_form, getdate
|
||||||
from six import string_types
|
from six import string_types
|
||||||
|
|
||||||
|
|
||||||
class LeavePolicyAssignment(Document):
|
class LeavePolicyAssignment(Document):
|
||||||
def validate(self):
|
def validate(self):
|
||||||
self.validate_policy_assignment_overlap()
|
|
||||||
self.set_dates()
|
self.set_dates()
|
||||||
|
self.validate_policy_assignment_overlap()
|
||||||
|
self.warn_about_carry_forwarding()
|
||||||
|
|
||||||
def on_submit(self):
|
def on_submit(self):
|
||||||
self.grant_leave_alloc_for_employee()
|
self.grant_leave_alloc_for_employee()
|
||||||
@@ -39,6 +40,20 @@ class LeavePolicyAssignment(Document):
|
|||||||
frappe.throw(_("Leave Policy: {0} already assigned for Employee {1} for period {2} to {3}")
|
frappe.throw(_("Leave Policy: {0} already assigned for Employee {1} for period {2} to {3}")
|
||||||
.format(bold(self.leave_policy), bold(self.employee), bold(formatdate(self.effective_from)), bold(formatdate(self.effective_to))))
|
.format(bold(self.leave_policy), bold(self.employee), bold(formatdate(self.effective_from)), bold(formatdate(self.effective_to))))
|
||||||
|
|
||||||
|
def warn_about_carry_forwarding(self):
|
||||||
|
if not self.carry_forward:
|
||||||
|
return
|
||||||
|
|
||||||
|
leave_types = get_leave_type_details()
|
||||||
|
leave_policy = frappe.get_doc("Leave Policy", self.leave_policy)
|
||||||
|
|
||||||
|
for policy in leave_policy.leave_policy_details:
|
||||||
|
leave_type = leave_types.get(policy.leave_type)
|
||||||
|
if not leave_type.is_carry_forward:
|
||||||
|
msg = _("Leaves for the Leave Type {0} won't be carry-forwarded since carry-forwarding is disabled.").format(
|
||||||
|
frappe.bold(get_link_to_form("Leave Type", leave_type.name)))
|
||||||
|
frappe.msgprint(msg, indicator="orange", alert=True)
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def grant_leave_alloc_for_employee(self):
|
def grant_leave_alloc_for_employee(self):
|
||||||
if self.leaves_allocated:
|
if self.leaves_allocated:
|
||||||
|
|||||||
Reference in New Issue
Block a user