Aplikasi kehadiran KTM ambil peti undi (SPR 2026)
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>
This commit is contained in:
28
resources/views/auth/login.blade.php
Normal file
28
resources/views/auth/login.blade.php
Normal file
@@ -0,0 +1,28 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('tajuk', 'Log Masuk')
|
||||
@section('saiz-container', 'container-kecil')
|
||||
|
||||
@section('kandungan')
|
||||
<div class="kad">
|
||||
<h1>Log Masuk</h1>
|
||||
<p class="teks-kecil">Sistem rekod kehadiran KTM mengambil peti undi. Untuk superadmin dan admin DUN sahaja.</p>
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="makluman makluman-ralat">{{ $errors->first() }}</div>
|
||||
@endif
|
||||
|
||||
<form method="POST" action="{{ route('login.attempt') }}">
|
||||
@csrf
|
||||
<label for="email">Emel</label>
|
||||
<input type="email" id="email" name="email" value="{{ old('email') }}" required autofocus>
|
||||
|
||||
<label for="password">Kata Laluan</label>
|
||||
<input type="password" id="password" name="password" required>
|
||||
|
||||
<button type="submit" class="btn btn-penuh">Log Masuk</button>
|
||||
</form>
|
||||
|
||||
<p class="teks-kecil mt-1"><a href="{{ route('password.request') }}">Lupa kata laluan?</a></p>
|
||||
</div>
|
||||
@endsection
|
||||
25
resources/views/auth/lupa-katalaluan.blade.php
Normal file
25
resources/views/auth/lupa-katalaluan.blade.php
Normal file
@@ -0,0 +1,25 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('tajuk', 'Lupa Kata Laluan')
|
||||
@section('saiz-container', 'container-kecil')
|
||||
|
||||
@section('kandungan')
|
||||
<div class="kad">
|
||||
<h1>Lupa Kata Laluan</h1>
|
||||
<p class="teks-kecil">Masukkan e-mel akaun anda. Pautan set semula kata laluan akan dihantar ke e-mel tersebut.</p>
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="makluman makluman-ralat">{{ $errors->first() }}</div>
|
||||
@endif
|
||||
|
||||
<form method="POST" action="{{ route('password.email') }}">
|
||||
@csrf
|
||||
<label for="email">E-mel</label>
|
||||
<input type="email" id="email" name="email" value="{{ old('email') }}" required autofocus>
|
||||
|
||||
<button type="submit" class="btn btn-penuh">Hantar Pautan Set Semula</button>
|
||||
</form>
|
||||
|
||||
<p class="teks-kecil mt-1"><a href="{{ route('login') }}">Kembali ke Log Masuk</a></p>
|
||||
</div>
|
||||
@endsection
|
||||
30
resources/views/auth/set-kata-laluan.blade.php
Normal file
30
resources/views/auth/set-kata-laluan.blade.php
Normal file
@@ -0,0 +1,30 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('tajuk', 'Set Semula Kata Laluan')
|
||||
@section('saiz-container', 'container-kecil')
|
||||
|
||||
@section('kandungan')
|
||||
<div class="kad">
|
||||
<h1>Set Semula Kata Laluan</h1>
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="makluman makluman-ralat">{{ $errors->first() }}</div>
|
||||
@endif
|
||||
|
||||
<form method="POST" action="{{ route('password.update') }}">
|
||||
@csrf
|
||||
<input type="hidden" name="token" value="{{ $token }}">
|
||||
|
||||
<label for="email">E-mel</label>
|
||||
<input type="email" id="email" name="email" value="{{ old('email', $email) }}" required autofocus>
|
||||
|
||||
<label for="password">Kata Laluan Baharu</label>
|
||||
<input type="password" id="password" name="password" required minlength="8">
|
||||
|
||||
<label for="password_confirmation">Sahkan Kata Laluan Baharu</label>
|
||||
<input type="password" id="password_confirmation" name="password_confirmation" required minlength="8">
|
||||
|
||||
<button type="submit" class="btn btn-penuh">Set Semula Kata Laluan</button>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user