cd5cfb49a98028cfdd7bbe54b6effc0be93452d2
- 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>
Kehadiran KTM — Peti Undi SPR 2026
Aplikasi untuk admin DUN merekodkan waktu KTM (Ketua Tempat Mengundi) hadir
mengambil peti undi. Data KTM dibaca terus daripada pangkalan data
Sistem Pengurusan Pusat Mengundi (spr2026 / DB sppm) — hanya KTM yang
telah di-assign sahaja dipaparkan.
Aliran
- Dashboard memaparkan semua KTM dalam DUN, disusun ikut pusat mengundi (asc) dan saluran (asc). Yang belum hadir bertanda BELUM HADIR (merah).
- Admin mencari nama KTM dan/atau pusat mengundi. Paparan menunjukkan nama, no. KP, no. telefon, jawatan, pusat mengundi dan saluran.
- Admin menandakan KTM sebagai hadir — tarikh dan masa direkodkan, status bertukar HADIR (hijau). Rekod boleh dibatalkan jika tersilap.
- Senarai kehadiran boleh dimuat turun dalam bentuk Excel (worksheet "Hadir" dan "Belum Hadir").
Peranan
| Peranan | Kebenaran |
|---|---|
superadmin |
Cipta pengguna; lihat/urus kehadiran semua DUN; eksport |
admin |
Admin DUN: daftar kehadiran KTM & eksport untuk DUN sendiri |
Pangkalan data
sppm_ktm(connectionmysql) —users,kehadiran_ktm, sesi/cache/queue.sppm(connectionsppm, baca sahaja) —petugas_assignments,petugas_permohonan,pusat_mengundi,saluran,jawatan_tetapan,dun.
KTM dikenal pasti melalui petugas_assignments yang jawatannya berkod KTM.
Pembangunan tempatan
composer install
cp .env.example .env # isi DB_* dan SPPM_DB_*
php artisan key:generate
php artisan migrate --seed # superadmin@spr.gov.my / password
php artisan serve
Zon waktu ialah Asia/Kuala_Lumpur (lalai APP_TIMEZONE).
Docker
Lihat DOCKER.md. Ringkasnya:
cp .env.docker.example .env.docker # isi APP_KEY, kata laluan DB, WEBHOOK_SECRET
docker compose up -d --build
Web container terikat pada 127.0.0.1:8009; nginx host membuat reverse proxy
domain awam ke port tersebut. Semua container ditetapkan TZ=Asia/Kuala_Lumpur.
Description
Languages
PHP
68%
Blade
20.5%
CSS
6.4%
Dockerfile
2.5%
Shell
2.2%
Other
0.4%