2024-05-09 14:28:24 +05:30
|
|
|
"""
|
|
|
|
|
onboarding/sidebar.py
|
|
|
|
|
|
|
|
|
|
To set Horilla sidebar for onboarding
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
from django.contrib.auth.context_processors import PermWrapper
|
2024-05-09 15:01:06 +05:30
|
|
|
from django.urls import reverse
|
2024-05-09 14:28:24 +05:30
|
|
|
|
2024-05-09 15:01:06 +05:30
|
|
|
from onboarding.templatetags.onboardingfilters import is_taskmanager
|
2024-05-09 14:28:24 +05:30
|
|
|
|
|
|
|
|
MENU = "Onboarding"
|
|
|
|
|
ACCESSIBILITY = "onboarding.sidebar.menu_accessibilty"
|
|
|
|
|
IMG_SRC = "images/ui/rocket.svg"
|
|
|
|
|
|
|
|
|
|
SUBMENUS = [
|
|
|
|
|
{
|
|
|
|
|
"menu": "Onboarding view",
|
|
|
|
|
"redirect": reverse("onboarding-view") + "?closed=false",
|
|
|
|
|
"accessibility": "onboarding.sidebar.onboarding_view_accessibility",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"menu": "Candidates view",
|
|
|
|
|
"redirect": reverse("candidates-view"),
|
|
|
|
|
"accessibility": "onboarding.sidebar.candidates_view_accessibility",
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def menu_accessibilty(
|
|
|
|
|
request, _menu: str = "", user_perms: PermWrapper = [], *args, **kwargs
|
|
|
|
|
) -> bool:
|
|
|
|
|
return (
|
|
|
|
|
is_taskmanager(request.user)
|
|
|
|
|
or "recruitment" in user_perms
|
|
|
|
|
or "onboarding" in user_perms
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def onboarding_view_accessibility(
|
|
|
|
|
request, _submenu: dict = {}, user_perms: PermWrapper = [], *args, **kwargs
|
|
|
|
|
) -> bool:
|
|
|
|
|
return is_taskmanager(request.user) or request.user.has_perm(
|
2025-07-07 14:19:54 +05:30
|
|
|
"onboarding.view_onboardingstage"
|
2024-05-09 14:28:24 +05:30
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def candidates_view_accessibility(
|
2024-05-09 15:01:06 +05:30
|
|
|
request, _submenu: dict = {}, user_perms: PermWrapper = [], *args, **kwargs
|
2024-05-09 14:28:24 +05:30
|
|
|
) -> bool:
|
2025-07-07 14:19:54 +05:30
|
|
|
return request.user.has_perm("onboarding.view_onboardingcandidate")
|