2024-05-09 14:28:24 +05:30
|
|
|
"""
|
|
|
|
|
pms/sidebar.py
|
|
|
|
|
"""
|
|
|
|
|
|
2025-04-04 09:02:47 +05:30
|
|
|
from django.urls import reverse_lazy
|
2024-05-09 14:28:24 +05:30
|
|
|
from django.utils.translation import gettext_lazy as trans
|
|
|
|
|
|
2024-05-09 15:01:06 +05:30
|
|
|
from base.templatetags.basefilters import is_reportingmanager
|
2024-05-09 14:28:24 +05:30
|
|
|
|
|
|
|
|
MENU = trans("Performance")
|
|
|
|
|
IMG_SRC = "images/ui/pms.svg"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SUBMENUS = [
|
|
|
|
|
{
|
|
|
|
|
"menu": trans("Dashboard"),
|
2025-04-04 09:02:47 +05:30
|
|
|
"redirect": reverse_lazy("dashboard-view"),
|
2024-05-09 14:28:24 +05:30
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"menu": trans("Objectives"),
|
2025-04-04 09:02:47 +05:30
|
|
|
"redirect": reverse_lazy("objective-list-view"),
|
2024-05-09 14:28:24 +05:30
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"menu": trans("360 Feedback"),
|
2025-04-04 09:02:47 +05:30
|
|
|
"redirect": reverse_lazy("feedback-view"),
|
2024-05-09 14:28:24 +05:30
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"menu": trans("Meetings"),
|
2025-04-04 09:02:47 +05:30
|
|
|
"redirect": reverse_lazy("view-meetings"),
|
2024-05-09 14:28:24 +05:30
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"menu": trans("Key Results"),
|
2025-04-04 09:02:47 +05:30
|
|
|
"redirect": reverse_lazy("view-key-result"),
|
2024-05-09 14:28:24 +05:30
|
|
|
"accessibility": "pms.sidebar.key_result_accessibility",
|
|
|
|
|
},
|
2024-08-27 17:34:55 +05:30
|
|
|
{
|
|
|
|
|
"menu": trans("Employee Bonus Point"),
|
2025-04-04 09:02:47 +05:30
|
|
|
"redirect": reverse_lazy("employee-bonus-point"),
|
2024-08-27 17:34:55 +05:30
|
|
|
},
|
2024-05-09 14:28:24 +05:30
|
|
|
{
|
|
|
|
|
"menu": trans("Period"),
|
2025-04-04 09:02:47 +05:30
|
|
|
"redirect": reverse_lazy("period-view"),
|
2025-01-23 12:21:27 +05:30
|
|
|
"accessibility": "pms.sidebar.period_accessibility",
|
2024-05-09 14:28:24 +05:30
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"menu": trans("Question Template"),
|
2025-04-04 09:02:47 +05:30
|
|
|
"redirect": reverse_lazy("question-template-view"),
|
2024-05-09 14:28:24 +05:30
|
|
|
"accessibility": "pms.sidebar.question_template_accessibility",
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def key_result_accessibility(request, submenu, user_perms, *args, **kwargs):
|
2025-04-21 18:06:46 +05:30
|
|
|
return request.user.has_perm("pms.view_keyresult")
|
2025-01-23 12:21:27 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
def period_accessibility(request, submenu, user_perms, *args, **kwargs):
|
2024-05-09 14:28:24 +05:30
|
|
|
return request.user.has_perm("pms.view_period") or is_reportingmanager(request.user)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def question_template_accessibility(request, submenu, user_perms, *args, **kwargs):
|
2024-05-09 15:01:06 +05:30
|
|
|
return request.user.has_perm("pms.view_questiontemplate") or is_reportingmanager(
|
|
|
|
|
request.user
|
|
|
|
|
)
|