update HR dan Payroll

This commit is contained in:
Wian Drs
2026-09-14 11:14:25 +07:00
parent ec94783db4
commit 63993ee76e
50 changed files with 2432 additions and 1473 deletions
+39
View File
@@ -0,0 +1,39 @@
<?php
$hrActive = isset($active_menu) ? $active_menu : '';
$hrTitle = isset($title) ? $title : 'HR & Payroll';
$hrSubtitle = isset($subtitle) ? $subtitle : 'Kelola administrasi karyawan secara tertib dan mudah dipahami.';
$employeePages = array('employees','organization_master');
$attendancePages = array('generate_schedule','attendance_monitoring','attendance_monthly','shift','holidays','leave_requests');
if (in_array($hrActive, $employeePages, true)) {
$hrLinks = array(
array('employees','Data Karyawan','employees','hr_employees','bi-person-vcard'),
array('organization_master','Departemen & Posisi','organizationmaster','hr_organization','bi-diagram-3')
);
} elseif (in_array($hrActive, $attendancePages, true)) {
$hrLinks = array(
array('generate_schedule','Jadwal Kerja','generateschedule','hr_schedules','bi-calendar3'),
array('attendance_monitoring','Monitoring Absen','attendancemonitoring','hr_attendance','bi-person-check'),
array('attendance_monthly','Absen Bulanan','attendancemonthly','hr_attendance','bi-calendar-check'),
array('holidays','Hari Libur','holidays','hr_schedules','bi-calendar-event'),
array('shift','Shift','shifts','hr_schedules','bi-clock'),
array('leave_requests','Cuti & Izin','leaverequests','hr_leave','bi-calendar2-minus')
);
} else {
$hrLinks = array(
array('hr_payroll','Daftar Periode Gaji','hrpayroll?section=periods','payroll','bi-calendar2-range'),
array('hr_payroll_salary','Master Gaji Karyawan','hrpayroll?section=salaries','payroll','bi-person-lines-fill'),
array('hr_payroll_settings','Setting Payroll','hrpayroll?section=settings','payroll','bi-sliders'),
array('hr_payroll_adjustments','Penyesuaian Periode','hrpayroll?section=adjustments','payroll','bi-plus-minus')
);
}
?>
<section class="hr-module-hero">
<div><span>HR & PAYROLL WORKSPACE</span><h2 class="text-light"><?=html_escape($hrTitle)?></h2><p><?=html_escape($hrSubtitle)?></p></div>
<?php if (!empty($action_html)) echo $action_html; ?>
</section>
<nav class="hr-module-nav" aria-label="Navigasi HR & Payroll">
<?php foreach ($hrLinks as $link): if (!is_master_admin_user() && !check_permission($link[3],'can_view') && !check_permission('employees','can_view')) continue; ?>
<?php $isActive = $hrActive === $link[0] || ($hrActive === 'hr_payroll' && strpos($link[2], 'section='.((string)($payroll_section ?? 'periods'))) !== false); ?>
<a class="<?=$isActive?'active':''?>" href="<?=base_url($link[2])?>"><i class="bi <?=$link[4]?>"></i><span><?=html_escape($link[1])?></span></a>
<?php endforeach; ?>
</nav>