diff --git a/leave/forms.py b/leave/forms.py index 15eff34ae..01e1cd83f 100644 --- a/leave/forms.py +++ b/leave/forms.py @@ -435,7 +435,10 @@ class LeaveRequestUpdationForm(ModelForm): if leave_type_id.reset_based == "monthly": if f"{today.year}-{today.strftime('%m')}" not in unique_dates: for item in unique_dates: - total_leave_days += forcasted_leaves[item] + try: + total_leave_days += forcasted_leaves[item] + except: + pass if not effective_requested_days <= total_leave_days: raise forms.ValidationError(_("Employee doesn't have enough leave days..")) diff --git a/leave/sidebar.py b/leave/sidebar.py index 13951157e..e890cea67 100644 --- a/leave/sidebar.py +++ b/leave/sidebar.py @@ -2,6 +2,7 @@ leave/sidebar.py """ +from django.apps import apps from django.urls import reverse from django.utils.translation import gettext_lazy as trans @@ -40,21 +41,6 @@ SUBMENUS = [ "menu": trans("Leave Allocation Request"), "redirect": reverse("leave-allocation-request-view"), }, - # { - # "menu": trans("Compensatory Leave Requests"), - # "redirect": reverse("view-compensatory-leave"), - # "accessibility": "leave.sidebar.componstory_accessibility", - # }, - { - "menu": trans("Holidays"), - "redirect": reverse("holiday-view"), - "accessibility": "leave.sidebar.holiday_accessibility", - }, - { - "menu": trans("Company Leaves"), - "redirect": reverse("company-leave-view"), - "accessibility": "leave.sidebar.company_leave_accessibility", - }, { "menu": trans("Restrict Leaves"), "redirect": reverse("restrict-view"), @@ -96,5 +82,14 @@ def company_leave_accessibility(request, submenu, user_perms, *args, **kwargs): return not request.user.has_perm("leave.add_companyleave") -# def componstory_accessibility(request, submenu, user_perms, *args, **kwargs): -# return is_compensatory(request.user) +if apps.is_installed("attendance"): + SUBMENUS.append( + { + "menu": trans("Compensatory Leave Requests"), + "redirect": reverse("view-compensatory-leave"), + "accessibility": "leave.sidebar.componstory_accessibility", + } + ) + + def componstory_accessibility(request, submenu, user_perms, *args, **kwargs): + return is_compensatory(request.user)