# Peta halaman admin CI3 → CI4 Dokumen ini menjadikan **CodeIgniter 3** (`bij.mwp.co.id`, modul `admin`) sebagai sumber kebenaran fitur dan alur menu. **CI4** (`bij.mwp.co.id-ci4`) adalah implementasi baru dengan UI TailAdmin (shell + komponen utility Tailwind via CDN, ikon & logo lokal di `public/assets/tailadmin/`). **Sumber menu & otorisasi CI3** - `application/modules/admin/config/ci_bootstrap.php` — array `menu`, `page_auth`, `useful_links`. - `application/modules/admin/views/_partials/sidemenu.php` — render menu; cek `page_auth` per URL induk/anak (URL kosong pada induk = semua grup). **Konvensi URL CI3:** relatif ke basis modul admin, umumnya `{baseURL}admin/{path}`. Contoh: `presensi/riwayat` → `.../admin/presensi/riwayat`. --- ## Ringkasan `page_auth` (Ion Auth) Hanya path berikut yang punya pembatasan eksplisit di `ci_bootstrap.php`; path lain mengikuti aturan sidemenu (kosong = semua grup yang login). | Path CI3 | Grup | |----------|------| | `panel` | webmaster | | `panel/admin_user` | webmaster | | `panel/admin_user_create` | webmaster | | `laporan` | webmaster, hrd | | `pegawai` | webmaster, hrd | | `util` | webmaster | **Useful links (APK):** role `webmaster`, `penyelenggara`, `operator_cabang`, `operator_ranting`, `operator_sekolah`, `admin_soal`, `operator_soal` — di CI4 dipetakan ke fitur `apk_link` di `Config\AdminAccess`. --- ## 1. Dashboard (Beranda) | URL CI3 | Controller | Method | Tujuan | Peran (efektif) | |---------|------------|--------|--------|------------------| | `admin` atau `admin/home` | `Home` | `index` | Dashboard statistik beranda | Semua login (tidak di `page_auth`) | **CI4:** `GET /admin` → `App\Controllers\Admin\Dashboard::index` (setara beranda + API). --- ## 2. Presensi | URL CI3 | Controller | Method | Tujuan | Peran | |---------|------------|--------|--------|-------| | `admin/presensi` | `Presensi` | `index` | Redirect ke riwayat | Semua | | `admin/presensi/riwayat` | `Presensi` | `riwayat` | Data presensi (Grocery CRUD + filter tanggal) | Semua | | `admin/presensi/lapangan` | `Presensi` | `lapangan` | Tugas luar / lapangan | Semua | | `admin/presensi/lembur` | `Presensi` | `lembur` | Jadwal lembur | Semua | | `admin/presensi/jadwal` | `Presensi` | `jadwal` | Management jadwal | Semua | | `admin/presensi/libur` | `Presensi` | `libur` | Hari libur | Semua | | `admin/presensi/aktifitas` | `Presensi` | `aktifitas` | Rekaman aktivitas harian | Semua | **CI4:** `GET /admin/presensi`, `GET /admin/presensi/detail/{id}` — **Data Presensi**; `GET /admin/presensi/lapangan|lembur|jadwal|libur|aktivitas` — submenu alat presensi (API `presensi/dilapangan`, dll.). --- ## 3. Perusahaan | URL CI3 | Controller | Method | Tujuan | Peran | |---------|------------|--------|--------|-------| | `admin/perusahaan` | `Perusahaan` | `index` | Redirect ke data | Semua | | `admin/perusahaan/data` | `Perusahaan` | `data` | Lokasi kerja | Semua | | `admin/perusahaan/unit_kerja` | `Perusahaan` | `unit_kerja` | Unit kerja | Semua | | `admin/perusahaan/golongan` | `Perusahaan` | `golongan` | Golongan | Semua | | `admin/perusahaan/jabatan` | `Perusahaan` | `jabatan` | Jabatan | Semua | | `admin/perusahaan/berita` | `Perusahaan` | `berita` | Berita / pengumuman | Semua | **CI4:** `GET /admin/perusahaan/kantor|unit_kerja|golongan|jabatan|berita` — CRUD master (API `company/*`). --- ## 4. Pegawai | URL CI3 | Controller | Method | Tujuan | Peran | |---------|------------|--------|--------|-------| | `admin/pegawai` | `Pegawai` | `index` | Redirect ke `data` | webmaster, hrd | | `admin/pegawai/data` | `Pegawai` | `data` | Daftar / kelola pegawai | webmaster, hrd | | `admin/pegawai/reset_pass/{id}` | `Pegawai` | `reset_pass` | Reset password | webmaster, hrd | | `admin/pegawai/cuti` | `Pegawai` | `cuti` | Data cuti (aliran lama) | webmaster, hrd | | `admin/pegawai/dokumen_cuti/...` | `Pegawai` | `dokumen_cuti` | Dokumen cuti | webmaster, hrd | | `admin/pegawai/get_dokumen_cuti/...` | `Pegawai` | `get_dokumen_cuti` | Ambil file dokumen | webmaster, hrd | | `admin/pegawai/approve_cuti/...` | `Pegawai` | `approve_cuti` | Setujui cuti | webmaster, hrd | | `admin/pegawai/reject_cuti/...` | `Pegawai` | `reject_cuti` | Tolak cuti | webmaster, hrd | **CI4:** `GET /admin/pegawai`, create/edit/store/update/delete/reset — modul cuti terpisah di `/admin/cuti` (setara fungsi cuti admin). --- ## 5. Cuti (alur baru CI4) Di CI3 cuti utama dari menu Pegawai → **Data Cuti** (`pegawai/cuti`). Di CI4 dipisah menjadi modul `admin/cuti` dengan API terpusat. --- ## 6. Laporan | URL CI3 | Controller | Method | Tujuan | Peran | |---------|------------|--------|--------|-------| | `admin/laporan/fstatistik` | `Laporan` | `fstatistik` | Statistik presensi | webmaster, hrd | | `admin/laporan/cetak_statistik` | `Laporan` | `cetak_statistik` | Cetak statistik | webmaster, hrd | | `admin/laporan/jatuhtempo` | `Laporan` | `jatuhtempo` | Piutang jatuh tempo | webmaster, hrd | | `admin/laporan/cetak_piutang_jatuh_tempo` | `Laporan` | `cetak_piutang_jatuh_tempo` | Cetak | webmaster, hrd | | `admin/laporan/penjualan` | `Laporan` | `penjualan` | Penjualan | webmaster, hrd | | `admin/laporan/cetak_penjualan` | `Laporan` | `cetak_penjualan` | Cetak | webmaster, hrd | | `admin/laporan/laba` | `Laporan` | `laba` | Laba | webmaster, hrd | | `admin/laporan/cetak_laba` | `Laporan` | `cetak_laba` | Cetak | webmaster, hrd | | `admin/laporan/fcuti` | `Laporan` | `fcuti` | Laporan cuti pegawai | webmaster, hrd | | `admin/laporan/cetak_cuti` | `Laporan` | `cetak_cuti` | Cetak cuti | webmaster, hrd | **CI4:** `GET /admin/laporan` — ringkasan agregat; `GET /admin/laporan/cuti` — tabel cuti rentang (setara `fcuti`, cetak via browser). **Keuangan / cetak spreadsheet** CI3 tidak di-port ke modul ini. --- ## 7. Panel (Akses pengguna + akun) | URL CI3 | Controller | Method | Tujuan | Peran | |---------|------------|--------|--------|-------| | `admin/panel/admin_user` | `Panel` | `admin_user` | Daftar pengguna Ion | webmaster | | `admin/panel/admin_user_create` | `Panel` | `admin_user_create` | Tambah pengguna | webmaster | | `admin/panel/admin_user_group` | `Panel` | `admin_user_group` | Grup pengguna | webmaster | | `admin/panel/admin_user_reset_password/{id}` | `Panel` | `admin_user_reset_password` | Reset password admin | webmaster | | `admin/panel/account` | `Panel` | `account` | Profil akun | Login | | `admin/panel/account_update_info` | `Panel` | `account_update_info` | Update info | Login | | `admin/panel/account_change_password` | `Panel` | `account_change_password` | Ganti password | Login | | `admin/panel/logout` | `Panel` | `logout` | Keluar | Login | **CI4:** `GET /admin/logout` + login terpadu; `GET/POST /admin/panel/users` (+ create, reset password). **Grup-only screen** (`admin_user_group`) belum ada halaman dedikasi (grup dipilih saat buat user). --- ## 8. Utilitas | URL CI3 | Controller | Method | Tujuan | Peran | |---------|------------|--------|--------|-------| | `admin/util/list_db` | `Util` | `list_db` | Daftar file backup DB | webmaster | | `admin/util/backup_db` | `Util` | `backup_db` | Backup | webmaster | | `admin/util/restore_db` | `Util` | `restore_db` | Restore | webmaster | | `admin/util/remove_db` | `Util` | `remove_db` | Hapus file backup | webmaster | | `admin/util/download_db/{file}` | `Util` | `download_db` | Unduh backup | webmaster | **CI4:** `GET/POST /admin/util/backup` — daftar file, jalankan backup, unduh, hapus (tanpa restore otomatis). --- ## 9. Errors | URL CI3 | Controller | Method | Tujuan | |---------|------------|--------|--------| | (routing error) | `Errors` | `page_missing` | Halaman tidak ditemukan | **CI4:** penanganan error bawaan CI4. --- # Pemetaan CI3 → CI4 | Halaman / alur CI3 | Status CI4 | Catatan | |----------------------|------------|---------| | `Home::index` | `/admin` — `Admin\Dashboard` | Parity fungsi inti via API | | `Presensi::riwayat` | `/admin/presensi`, detail | Filter tanggal + q | | `Presensi::lapangan/lembur/libur/jadwal/aktifitas` | `/admin/presensi/...` | CRUD lewat API | | `Perusahaan::*` | `/admin/perusahaan/...` | CRUD lewat API | | `Pegawai::data` | `/admin/pegawai` | + create/edit | | `Pegawai::cuti` + approve/reject | `/admin/cuti` | Alur dipisah modul | | `Laporan::fstatistik` + cetak | `/admin/laporan` | Ringkasan; cetak spreadsheet tidak | | `Laporan::fcuti` | `/admin/laporan/cuti` | Tabel + cetak browser | | `Laporan::keuangan*` | — | Tidak di-port | | `Panel::admin_user*` | `/admin/panel/users` | + create / reset password | | `Panel::admin_user_group` | — | Grup lewat dropdown create user | | `Panel::account*` | — | Bisa memakai profil API; belum halaman dedikasi | | `Panel::logout` | `/admin/logout` | | | `Util::list/backup/download/remove_db` | `/admin/util/backup` | Tanpa restore | --- ## Referensi file CI3 - Controller: `application/modules/admin/controllers/*.php` - Menu & auth: `application/modules/admin/config/ci_bootstrap.php` - Sidemenu view: `application/modules/admin/views/_partials/sidemenu.php`