"""
budget/sidebar.py
=================
Sidebar navigation entries for the Budget Management module.
"""

from django.urls import reverse
from django.utils.translation import gettext_lazy as _

MENU = _("Budget")
IMG_SRC = "images/ui/report.svg"

SUBMENUS = [
    {
        "menu": _("Dashboard"),
        "redirect": reverse("budget-dashboard"),
        "accessibility": "budget.sidebar.dashboard_accessibility",
    },
    {
        "menu": _("Budget Heads"),
        "redirect": reverse("budget-head-view"),
        "accessibility": "budget.sidebar.structure_accessibility",
    },
    {
        "menu": _("Sub-Heads"),
        "redirect": reverse("budget-sub-head-view"),
        "accessibility": "budget.sidebar.structure_accessibility",
    },
    {
        "menu": _("Budget Items"),
        "redirect": reverse("budget-item-view"),
        "accessibility": "budget.sidebar.structure_accessibility",
    },
    {
        "menu": _("Allocations"),
        "redirect": reverse("budget-allocation-view"),
        "accessibility": "budget.sidebar.allocation_accessibility",
    },
    {
        "menu": _("Bulk Upload"),
        "redirect": reverse("budget-bulk-upload"),
        "accessibility": "budget.sidebar.structure_accessibility",
    },
]


def dashboard_accessibility(request, submenu, user_perms, *args, **kwargs):
    return request.user.has_perm("budget.view_budgethead")


def structure_accessibility(request, submenu, user_perms, *args, **kwargs):
    return request.user.has_perm("budget.view_budgethead")


def allocation_accessibility(request, submenu, user_perms, *args, **kwargs):
    return request.user.has_perm("budget.view_budgetallocation")
