- Halaman baharu "Saluran Bermasalah": senarai semua saluran dalam DUN
(dengan KTM & telefonnya), tanda/buang tanda bermasalah berserta
catatan; admin DUN terhad ke DUN sendiri, superadmin semua DUN
- Dashboard: baris saluran bermasalah diserlahkan kuning berserta
lencana BERMASALAH dan catatan
- No. telefon KTM kini ada butang "📞 Call" (tel:) dan "WhatsApp"
(wa.me, dinormalkan ke format 60xxxxxxxxx) di dashboard dan halaman
saluran bermasalah
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Butang Padam dalam senarai pengguna (dengan pengesahan)
- Tidak boleh padam akaun sendiri — dipapar '(akaun anda)'
- Tidak boleh padam pengguna yang telah mencatat rekod kehadiran
(disokong FK dicatat_oleh_user_id di peringkat DB)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sistem untuk admin DUN merekod waktu KTM (Ketua Tempat Mengundi) hadir
mengambil peti undi. Data KTM dibaca daripada DB sppm (spr2026) melalui
connection kedua — hanya penempatan berjawatan KTM yang dipaparkan.
- Dashboard: senarai KTM ikut pusat mengundi (asc) & saluran (asc),
status BELUM HADIR (merah) / HADIR (hijau) + tarikh & masa
- Carian nama/no. KP, tapisan pusat mengundi & status
- Tanda hadir / batal dengan kawalan DUN (admin terhad ke DUN sendiri)
- Eksport Excel (worksheet Hadir & Belum Hadir) guna SimpleXlsx
- Peranan: superadmin (urus pengguna, semua DUN) & admin DUN
- Docker: nginx + php-fpm + queue + scheduler + webhook deploy,
port 127.0.0.1:8009, TZ Asia/Kuala_Lumpur di semua container
- Zon waktu aplikasi: Asia/Kuala_Lumpur (APP_TIMEZONE)
Berasaskan scaffold spr2026_taklimat.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>