diff --git a/leave/views.py b/leave/views.py index f572caad0..1364487ec 100644 --- a/leave/views.py +++ b/leave/views.py @@ -869,18 +869,18 @@ def leave_request_approve(request, id, emp_id=None): ) if leave_request.status != "approved": if total_available_leave >= leave_request.requested_days: - if leave_request.requested_days > available_leave.available_days: - leave = leave_request.requested_days - available_leave.available_days - leave_request.approved_available_days = available_leave.available_days - available_leave.available_days = 0 - available_leave.carryforward_days = ( - available_leave.carryforward_days - leave + if leave_request.requested_days > available_leave.carryforward_days: + leave = leave_request.requested_days - available_leave.carryforward_days + leave_request.approved_carryforward_days = ( + available_leave.carryforward_days ) - leave_request.approved_carryforward_days = leave + available_leave.carryforward_days = 0 + available_leave.available_days = available_leave.available_days - leave + leave_request.approved_available_days = leave else: - temp = available_leave.available_days - available_leave.available_days = temp - leave_request.requested_days - leave_request.approved_available_days = leave_request.requested_days + temp = available_leave.carryforward_days + available_leave.carryforward_days = temp - leave_request.requested_days + leave_request.approved_carryforward_days = leave_request.requested_days leave_request.status = "approved" if not leave_request.multiple_approvals(): super(AvailableLeave, available_leave).save()