HRIS MP Logo
@php $authUser = Auth::user(); $roleNama = strtolower($authUser->roles->first()?->nama_role ?? ''); $isHrd = $roleNama === 'hrd'; $isManager = $roleNama === 'manager'; $isSupervisor = $roleNama === 'supervisor'; $isStaff = $roleNama === 'staff'; $isGlobalAdmin = $authUser->isGlobalAdmin(); $userKantor = $authUser->id_kantor; // Alias untuk kondisi gabungan $canManage = $isHrd; $canViewPegawai = $isHrd || $isManager; $canViewPresensi = $isHrd || $isManager || $isSupervisor; $canApproveIzin = $isHrd || $isManager; $canViewLaporan = $isHrd || $isManager || $isSupervisor; $canViewLaporanIzin = $isHrd || $isManager; $canViewJadwal = $isHrd || $isManager || $isSupervisor; $canAccessWeb = $isHrd || $isManager || $isSupervisor; @endphp
{{-- ── Dashboard ── --}}
Dashboard
{{-- ════════════════════════════════ SEKSI: MANAJEMEN ════════════════════════════════ --}} @if($canManage || $canViewPegawai || $canViewJadwal)
Manajemen
{{-- Verifikasi Wajah – HRD only --}} @if($isHrd) Verifikasi Wajah @php $pendingFace = \App\Models\User::where('is_face_registered', 0)->whereHas('dataWajah')->count(); @endphp @if($pendingFace > 0) {{ $pendingFace }} @endif @endif {{-- Data Karyawan – HRD & Manager --}} @if($canViewPegawai) Data Karyawan @endif {{-- Penjadwalan – HRD, Manager, Supervisor --}} @if($canViewJadwal) Penjadwalan {{-- Tukar Shift – HRD, Manager, Supervisor --}} Tukar Shift @endif
@endif {{-- ════════════════════════════════ SEKSI: ABSENSI ════════════════════════════════ --}} @if($canViewLaporan || $canViewPresensi)
Absensi
{{-- Laporan Kehadiran – HRD, Manager, Supervisor --}} @if($canViewLaporan) Laporan Kehadiran @endif {{-- Laporan Lembur – HRD only --}} @if($isHrd) Laporan Lembur @endif {{-- Laporan Izin/Cuti – HRD & Manager --}} @if($canViewLaporanIzin) Laporan Izin/Cuti @endif {{-- Monitoring Presensi – HRD, Manager, Supervisor --}} @if($canViewPresensi) Monitoring Presensi @if(isset($pendingPresensi) && $pendingPresensi > 0) {{ $pendingPresensi }} @endif @endif {{-- Manajemen Izin – HRD Only --}} @if($isHrd) Manajemen Izin @php $izinQuery = \App\Models\PengajuanIzin::where('id_status', \App\Enums\StatusPengajuan::PENDING); if (!$isGlobalAdmin) { $izinQuery->whereHas('user', fn($q) => $q->where('id_kantor', $userKantor)); } $pendingIzin = $izinQuery->count(); @endphp @if($pendingIzin > 0) {{ $pendingIzin }} @endif @endif {{-- Surat Izin – HRD & Manager --}} @if($canApproveIzin) Surat Izin @php $suratQuery = \App\Models\SuratIzin::query(); $statuses = []; if ($isManager) $statuses[] = 'menunggu_manajer'; if ($isHrd) $statuses[] = 'menunggu_hrd'; if ($isGlobalAdmin && !$isHrd) { $statuses = ['menunggu_manajer', 'menunggu_hrd']; // superadmin } if (count($statuses) > 0) { $suratQuery->whereIn('status_surat', $statuses); } else { $suratQuery->where('id_surat', -1); // don't count if no matching statuses } if (!$isGlobalAdmin) { $suratQuery->whereHas('user', fn($q) => $q->where('id_kantor', $userKantor)); } $pendingSurat = $suratQuery->count(); @endphp @if($pendingSurat > 0) {{ $pendingSurat }} @endif @endif {{-- Lembur & Poin – HRD only --}} @if($isHrd) Lembur & Poin @php $lemburQuery = \App\Models\Lembur::where('id_status', \App\Enums\StatusPengajuan::PENDING); if (!$isGlobalAdmin) { $lemburQuery->whereHas('user', fn($q) => $q->where('id_kantor', $userKantor)); } $pendingLembur = $lemburQuery->count(); @endphp @if($pendingLembur > 0) {{ $pendingLembur }} @endif Persetujuan Poin @php $poinQuery = \App\Models\PenggunaanPoin::where('id_status', \App\Enums\StatusPengajuan::PENDING); if (!$isGlobalAdmin) { $poinQuery->whereHas('user', fn($q) => $q->where('id_kantor', $userKantor)); } $pendingPoin = $poinQuery->count(); @endphp @if($pendingPoin > 0) {{ $pendingPoin }} @endif {{-- Pengumuman – HRD only --}} Pengumuman @endif
@endif {{-- ════════════════════════════════ SEKSI: DATA MASTER (HRD only) ════════════════════════════════ --}} @if($isHrd)
Data Kantor Data Divisi Data Jabatan Data Role Shift Kerja Hari Libur Sisa Cuti Pegawai
@endif
{{-- Footer: Pengaturan Akun & Logout --}}
Pengaturan Akun
@csrf