91 lines
3.3 KiB
Python
91 lines
3.3 KiB
Python
from django.utils.translation import gettext_lazy as trans
|
|
from django.urls import reverse_lazy
|
|
from django.apps import apps
|
|
|
|
|
|
MENU = trans("Reports")
|
|
IMG_SRC = "images/ui/report.svg"
|
|
ACCESSIBILITY = "report.sidebar.menu_accessibility"
|
|
|
|
|
|
SUBMENUS = [
|
|
|
|
]
|
|
|
|
# Dynamically adding submenu if the app is installed
|
|
if apps.is_installed('recruitment'):
|
|
SUBMENUS.append({
|
|
"menu": "Recruitment",
|
|
"redirect": reverse_lazy("recruitment-report"),
|
|
"accessibility": "report.sidebar.recruitment_accessibility",
|
|
})
|
|
|
|
if apps.is_installed('employee'):
|
|
SUBMENUS.append({
|
|
"menu":"Employee",
|
|
"redirect":reverse_lazy("employee-report"),
|
|
"accessibility": "report.sidebar.employee_accessibility",
|
|
})
|
|
|
|
if apps.is_installed('attendance'):
|
|
SUBMENUS.append({
|
|
"menu":"Attendance",
|
|
"redirect":reverse_lazy("attendance-report"),
|
|
"accessibility": "report.sidebar.attendance_accessibility",
|
|
})
|
|
|
|
if apps.is_installed('leave'):
|
|
SUBMENUS.append({
|
|
"menu":"Leave",
|
|
"redirect":reverse_lazy("leave-report"),
|
|
"accessibility": "report.sidebar.leave_accessibility",
|
|
})
|
|
|
|
if apps.is_installed('payroll'):
|
|
SUBMENUS.append({
|
|
"menu":"Payroll",
|
|
"redirect":reverse_lazy("payroll-report"),
|
|
"accessibility": "report.sidebar.payroll_accessibility",
|
|
})
|
|
|
|
if apps.is_installed('asset'):
|
|
SUBMENUS.append({
|
|
"menu":"Asset",
|
|
"redirect":reverse_lazy("asset-report"),
|
|
"accessibility": "report.sidebar.asset_accessibility",
|
|
})
|
|
|
|
if apps.is_installed('pms'):
|
|
SUBMENUS.append({
|
|
"menu":"Performance",
|
|
"redirect":reverse_lazy("pms-report"),
|
|
"accessibility": "report.sidebar.pms_accessibility",
|
|
})
|
|
|
|
def menu_accessibility(request, submenu, user_perms, *args, **kwargs):
|
|
return request.user.is_superuser or request.user.has_perm("recruitment.view_recruitment") or request.user.has_perm("employee.view_employee") or request.user.has_perm("pms.view_objective") or request.user.has_perm("attendance.view_attendance") or request.user.has_perm("leave.view_leaverequest") or request.user.has_perm("payroll.view_payslip") or request.user.has_perm("asset.view_asset")
|
|
|
|
|
|
|
|
def recruitment_accessibility(request, submenu, user_perms, *args, **kwargs):
|
|
return request.user.is_superuser or request.user.has_perm("recruitment.view_recruitment")
|
|
|
|
def employee_accessibility(request, submenu, user_perms, *args, **kwargs):
|
|
return request.user.is_superuser or request.user.has_perm("employee.view_employee")
|
|
|
|
def attendance_accessibility(request, submenu, user_perms, *args, **kwargs):
|
|
return request.user.is_superuser or request.user.has_perm("attendance.view_attendance")
|
|
|
|
def leave_accessibility(request, submenu, user_perms, *args, **kwargs):
|
|
return request.user.is_superuser or request.user.has_perm("leave.view_leaverequest")
|
|
|
|
def payroll_accessibility(request, submenu, user_perms, *args, **kwargs):
|
|
return request.user.is_superuser or request.user.has_perm("payroll.view_payslip")
|
|
|
|
def asset_accessibility(request, submenu, user_perms, *args, **kwargs):
|
|
return request.user.is_superuser or request.user.has_perm("asset.view_asset")
|
|
|
|
def pms_accessibility(request, submenu, user_perms, *args, **kwargs):
|
|
return request.user.is_superuser or request.user.has_perm("pms.view_objective")
|
|
|