Files
bij/docs/migration/admin-pages-map.md
2026-04-21 05:59:39 +07:00

181 lines
8.9 KiB
Markdown

# 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`