fix: remove hard-coded roles for populating leave balance reports (#249) (#33557)

This commit is contained in:
Rucha Mahabal
2023-01-06 14:28:15 +05:30
committed by GitHub
parent 7d0a118eab
commit c20d469f31
2 changed files with 29 additions and 38 deletions

View File

@@ -111,34 +111,30 @@ def get_data(filters: Filters) -> List:
employee.leave_approver employee.leave_approver
) )
if ( if len(active_employees) > 1:
(leave_approvers and len(leave_approvers) and user in leave_approvers) row = frappe._dict()
or (user in ["Administrator", employee.user_id])
or ("HR Manager" in frappe.get_roles(user))
):
if len(active_employees) > 1:
row = frappe._dict()
row.employee = employee.name
row.employee_name = employee.employee_name
leaves_taken = ( row.employee = employee.name
get_leaves_for_period(employee.name, leave_type, filters.from_date, filters.to_date) * -1 row.employee_name = employee.employee_name
)
new_allocation, expired_leaves, carry_forwarded_leaves = get_allocated_and_expired_leaves( leaves_taken = (
filters.from_date, filters.to_date, employee.name, leave_type get_leaves_for_period(employee.name, leave_type, filters.from_date, filters.to_date) * -1
) )
opening = get_opening_balance(employee.name, leave_type, filters, carry_forwarded_leaves)
row.leaves_allocated = new_allocation new_allocation, expired_leaves, carry_forwarded_leaves = get_allocated_and_expired_leaves(
row.leaves_expired = expired_leaves filters.from_date, filters.to_date, employee.name, leave_type
row.opening_balance = opening )
row.leaves_taken = leaves_taken opening = get_opening_balance(employee.name, leave_type, filters, carry_forwarded_leaves)
# not be shown on the basis of days left it create in user mind for carry_forward leave row.leaves_allocated = new_allocation
row.closing_balance = new_allocation + opening - (row.leaves_expired + leaves_taken) row.leaves_expired = expired_leaves
row.indent = 1 row.opening_balance = opening
data.append(row) row.leaves_taken = leaves_taken
# not be shown on the basis of days left it create in user mind for carry_forward leave
row.closing_balance = new_allocation + opening - (row.leaves_expired + leaves_taken)
row.indent = 1
data.append(row)
return data return data

View File

@@ -65,21 +65,16 @@ def get_data(filters, leave_types):
if employee.leave_approver: if employee.leave_approver:
leave_approvers.append(employee.leave_approver) leave_approvers.append(employee.leave_approver)
if ( row = [employee.name, employee.employee_name, employee.department]
(len(leave_approvers) and user in leave_approvers) available_leave = get_leave_details(employee.name, filters.date)
or (user in ["Administrator", employee.user_id]) for leave_type in leave_types:
or ("HR Manager" in frappe.get_roles(user)) remaining = 0
): if leave_type in available_leave["leave_allocation"]:
row = [employee.name, employee.employee_name, employee.department] # opening balance
available_leave = get_leave_details(employee.name, filters.date) remaining = available_leave["leave_allocation"][leave_type]["remaining_leaves"]
for leave_type in leave_types:
remaining = 0
if leave_type in available_leave["leave_allocation"]:
# opening balance
remaining = available_leave["leave_allocation"][leave_type]["remaining_leaves"]
row += [remaining] row += [remaining]
data.append(row) data.append(row)
return data return data