fix: Consider only Approved leave applications in LWP, Employee Benefit calculations

- do not allow submitting leave applications with 'Cancelled' status
This commit is contained in:
Rucha Mahabal 2022-06-03 11:03:12 +05:30
parent a8c1b01437
commit 4decb7a02b
3 changed files with 5 additions and 2 deletions

View File

@ -88,7 +88,7 @@ class LeaveApplication(Document):
share_doc_with_approver(self, self.leave_approver)
def on_submit(self):
if self.status == "Open":
if self.status in ["Open", "Cancelled"]:
frappe.throw(
_("Only Leave Applications with status 'Approved' and 'Rejected' can be submitted")
)
@ -1117,7 +1117,7 @@ def add_leaves(events, start, end, filter_conditions=None):
WHERE
from_date <= %(end)s AND to_date >= %(start)s <= to_date
AND docstatus < 2
AND status != 'Rejected'
AND status in ('Approved', 'Open')
"""
if conditions:
@ -1206,6 +1206,7 @@ def get_approved_leaves_for_period(employee, leave_type, from_date, to_date):
from `tabLeave Application`
where employee=%(employee)s
and docstatus=1
and status='Approved'
and (from_date between %(from_date)s and %(to_date)s
or to_date between %(from_date)s and %(to_date)s
or (from_date < %(from_date)s and to_date > %(to_date)s))

View File

@ -216,6 +216,7 @@ def calculate_lwp(employee, start_date, holidays, working_days):
where t2.name = t1.leave_type
and t2.is_lwp = 1
and t1.docstatus = 1
and t1.status = 'Approved'
and t1.employee = %(employee)s
and CASE WHEN t2.include_holiday != 1 THEN %(dt)s not in ('{0}') and %(dt)s between from_date and to_date
WHEN t2.include_holiday THEN %(dt)s between from_date and to_date

View File

@ -477,6 +477,7 @@ class SalarySlip(TransactionBase):
WHERE t2.name = t1.leave_type
AND (t2.is_lwp = 1 or t2.is_ppl = 1)
AND t1.docstatus = 1
AND t1.status = 'Approved'
AND t1.employee = %(employee)s
AND ifnull(t1.salary_slip, '') = ''
AND CASE