Novy San87
38400b5cd6
style(tatib): PDF SP per siswa 1 lembar F4 portrait — kop diperbaiki (logo 84px ke kiri, nama sekolah wrap aman), reset margin p, line-height 1.2, tanggal tabel d/m/Y, margin @page 1cm; semua SP (1-6 pelanggaran) terverifikasi 1 halaman
2026-08-26 11:05:19 +07:00
Novy San87
2988aa4988
style(tatib): PDF SP per siswa muat 1 lembar F4 portrait — margin & spacing dikompakkan (kop, judul, tabel, ttd), font isi tetap 12pt; rekap PDF tidak disentuh
2026-08-26 10:58:29 +07:00
Novy San87
1a76385cf0
Revert "style(tatib): PDF kartu pelanggaran siswa (/students) — margin atas 8mm→6mm, font isi diseragamkan 12pt (identitas, rekap, tabel riwayat, ttd, footer), judul 14pt, tetap A4 portrait"
...
This reverts commit bc4b481631 .
2026-08-26 10:54:05 +07:00
Novy San87
bc4b481631
style(tatib): PDF kartu pelanggaran siswa (/students) — margin atas 8mm→6mm, font isi diseragamkan 12pt (identitas, rekap, tabel riwayat, ttd, footer), judul 14pt, tetap A4 portrait
2026-08-26 10:53:01 +07:00
Novy San87
b72c105247
style(tatib): ekspor rekap SP Letters jadi A4 portrait — kolom dirapikan (NISN di bawah nama, tanggal di bawah no. surat) agar muat di portrait
2026-08-26 10:51:20 +07:00
Novy San87
076cb7bb3c
style(tatib): PDF SP — margin atas 2cm→1.5cm; font isi surat diseragamkan 12pt (nomor surat, tabel pelanggaran, NIP), judul tetap 13pt
2026-08-26 10:50:31 +07:00
Novy San87
cfd82125c5
feat(tatib): ekspor PDF surat peringatan — unduh PDF per surat (F4 resmi via dompdf) + rekap daftar SP (A4 landscape: ringkasan status, tabel rinci, ttd); tombol Ekspor PDF di /sp-letters & Unduh PDF di detail
2026-08-26 10:47:40 +07:00
Novy San87
629f6efb08
feat: form presensi manual (attendances/create) — opsi status PKL (P ungu) + warna selaras (S=amber); rotasi H→S→I→P→A→T; tombol bulk 'Semua PKL'; legenda & teks info
2026-08-22 20:14:08 +07:00
Novy San87
39c9e031fd
chore: jangan commit build Flutter public/aplikasi-ejurnal (artefak build, bukan sumber)
2026-08-22 20:10:51 +07:00
Novy San87
25da284ca2
feat: dukung status PKL/Magang (pkl) dari e-jurnal — validasi sync + pkl; rekap mingguan/bulanan kolom P; export Excel kolom P; warna selaras e-jurnal (S=amber, P=violet)
2026-08-22 20:10:34 +07:00
Novy San87
f7adecc22c
docs: tambah BACKUP.md — info backup otomatis (backup-all.sh, /home/guru-tkj/backups/harian/)
2026-08-20 21:12:47 +07:00
Novy San87
0360838b56
feat(tatib): kartu pelanggaran PDF per siswa (tombol PDF di /students, dompdf A4: identitas, rekap poin, riwayat 2 tabel Terlambat&Membolos/Lainnya, ttd Ketua Tim); fix null-safe nama user di riwayat handling; kolom NISN+Kelas di SP Letters
2026-08-19 14:43:01 +07:00
Novy San87
21722479d0
fix(api): file_url SP & url foto bukti kini pakai prefix storage/ — perbaiki unduh PDF yang nyasar ke halaman login
2026-08-07 15:11:48 +07:00
Novy San87
cda9cbec03
feat(sp-letters): generate PDF resmi SP (DomPDF, F4, kop+tanda tangan) saat surat dibuat — wali bisa lihat/unduh via SiMURID (file_url di API)
2026-08-07 15:06:16 +07:00
Novy San87
5c682476e0
fix(sp-letters): alamat jadi 'Kepada Yth. Bapak/Ibu/Wali Murid'
2026-08-07 15:02:14 +07:00
Novy San87
a60842b207
fix(sp-letters): judul SURAT PERINGATAN diberi garis bawah
2026-08-07 15:01:22 +07:00
Novy San87
fb558bdce9
fix(sp-letters): nomor surat jadi huruf besar 'SP-2/001/08/2026' (generasi baru + data lama di-update)
2026-08-07 15:00:47 +07:00
Novy San87
911064805b
fix(sp-letters): 'di tempat' → 'di Tempat'
2026-08-07 14:59:44 +07:00
Novy San87
f06fcdda98
fix(sp-letters): indent blok tanda tangan tambah 6 tab (total 24em)
2026-08-07 14:59:04 +07:00
Novy San87
a6db6ba6ff
fix(sp-letters): indent blok tanda tangan tambah 6 tab (total 18em)
2026-08-07 14:58:27 +07:00
Novy San87
8670f786ea
fix(sp-letters): indent blok tanda tangan tambah 6 tab (total 12em)
2026-08-07 14:57:46 +07:00
Novy San87
7494e8b9b1
fix(sp-letters): indent blok tanda tangan 5→6 tab
2026-08-07 14:57:06 +07:00
Novy San87
f15419e226
fix(sp-letters): blok tanda tangan diberi indent 5 tab
2026-08-07 14:56:25 +07:00
Novy San87
2e1e1bd2bf
fix(sp-letters): tanggal tanda tangan jadi 'Wonorejo, 7 Agustus 2026' (setting school_place, default Wonorejo)
2026-08-07 14:55:38 +07:00
Novy San87
fd9620a3bd
fix(sp-letters): spasi antar baris blok tanda tangan jadi 1 spasi
2026-08-07 14:54:43 +07:00
Novy San87
db999ffeb7
fix(sp-letters): blok tanda tangan (tanggal, Kepala, nama, NIP) rata kiri
2026-08-07 14:54:11 +07:00
Novy San87
1e2c53b522
fix(sp-letters): paragraf penutup diberi indentasi 2 tab
2026-08-07 14:52:51 +07:00
Novy San87
7b54d8dc33
fix(sp-letters): paragraf penutup — 'Saudara/i' diganti nama siswa (tebal)
2026-08-07 14:51:31 +07:00
Novy San87
c7dd8c5dfb
fix(sp-letters): uraian pelanggaran tampil miring kecil di bawah jenis pelanggaran
2026-08-07 14:49:27 +07:00
Novy San87
e749c19073
fix(sp-letters): kolom 'Jenis Pelanggaran' tampilkan nama jenis pelanggaran (bukan description)
2026-08-07 14:48:16 +07:00
Novy San87
cf3a94794b
fix(sp-letters): tanggal pelanggaran dikonversi ke Asia/Jakarta sebelum format — cegah geser -1 hari (snapshot tersimpan UTC)
2026-08-07 14:45:58 +07:00
Novy San87
a9efc83dab
fix(sp-letters): tanggal pelanggaran jadi format 'Hari, 02 Agustus 2026' (locale id)
2026-08-07 14:43:13 +07:00
Novy San87
59981abab0
fix(sp-letters): daftar pelanggaran jadi tabel (Tanggal | Jenis | Point) + baris Total, tanpa bullet
2026-08-07 14:41:04 +07:00
Novy San87
c44eb84346
fix(sp-letters): paragraf pembuka diberi indentasi 2 tab (text-indent 2em)
2026-08-07 14:37:47 +07:00
Novy San87
670be7ebad
fix(sp-letters): kalimat pembuka — 'kepada ananda NAMA (tebal)' menggantikan 'Saudara/i'
2026-08-07 14:36:47 +07:00
Novy San87
98614545fc
fix(sp-letters): alamat 'Kepada Yth. Bapak/Ibu/Wali' + nama siswa uppercase langsung di bawahnya, jarak 1 spasi
2026-08-07 14:32:50 +07:00
Novy San87
fffb35e868
fix(sp-letters): rapatkan jarak judul SURAT PERINGATAN dengan Nomor surat (1 spasi)
2026-08-07 14:30:42 +07:00
Novy San87
743a4d39fa
fix(sp-letters): kertas cetak F4 (210x330mm) dengan margin kiri-kanan 1cm
2026-08-07 14:29:42 +07:00
Novy San87
9877f93e8f
fix(sp-letters): logo di cetakan pakai asset() URL, bukan public_path() filesystem — perbaiki logo pecah (kotak image) saat cetak surat
2026-08-07 14:28:46 +07:00
Novy San87
0d8c40af40
fix(modal): tambah overflow-hidden di container modal reset & tolak — sudut header gradien kini mengikuti radius container
2026-08-07 12:47:46 +07:00
Novy San87
44fde365d9
ui(reset-password): samakan dengan modal premium lain — container max-w-xl, header gradien amber-oranye, input pakai kelas .input seragam
2026-08-07 12:46:04 +07:00
Novy San87
2d2ff0dac0
ui(premium): modal Reset Password Wali custom (Alpine) — header ikon gradien amber, info card, input password + toggle show/hide, validasi inline, loading state; ganti SweetAlert polos
2026-08-07 12:40:27 +07:00
Novy San87
9e48b67e94
fix(parent): saat wali membuat link baru, hapus otomatis link REJECTED lain (NISN salah) — cegah siswa dobel di aplikasi
2026-08-07 10:54:22 +07:00
Novy San87
61b93a35ac
ui(premium): modal Tolak Wali custom (Alpine) — header ikon gradien rose, kartu info, textarea alasan + counter 0/255, tombol loading state; ganti SweetAlert polos
2026-08-07 10:47:40 +07:00
Novy San87
e20cb2d478
feat(parent): kirim rejection_reason ke app wali + izinkan tautkan ulang setelah ditolak (link rejected dibuka lagi jadi pending/active)
2026-08-07 10:43:27 +07:00
Novy San87
42ffd893b2
ui(school-info): rombak kartu Tambah/Edit Informasi — kolom lebih lebar (2/5), header gradien dengan watermark & subtitle kontekstual, kategori jadi pill berwarna (6 pilihan), input berikon + counter judul 0/200, tanggal dengan hint badge Hari Ini, textarea berikon, toggle publikasi premium, tombol submit gradien dengan ikon dinamis
2026-08-07 09:53:51 +07:00
Novy San87
eef1d8d1fa
fix(school-info): perbaiki 3 bug — @json ganti @js (x-data rusak karena quote tidak ter-escape), _method pakai :value PUT/POST (create tidak lagi 405/500), pastikan edit memuat data benar
2026-08-07 09:50:14 +07:00
Novy San87
9b821602a0
ui(premium): poles halaman Informasi Sekolah — breadcrumb, hero gradien, 4 KPI, filter live (cari/kategori/status), kartu premium per kategori, form sticky dengan header gradien
2026-08-07 09:39:32 +07:00
Novy San87
503e910e18
feat: sinkronisasi foto siswa dari kesiswaan (photo_url PAS FOTO) + API wali return URL absolut
2026-08-07 08:27:44 +07:00
Novy San87
2b354e9e46
fix: laporan rekap pakai snapshot student_class (kelas saat pelanggaran) — akurat walau siswa naik kelas/lulus
2026-08-06 23:10:22 +07:00
Novy San87
27e1e71fc9
fix: Export Excel kini mengikuti semua filter (periode, kelas, jenis pelanggaran) + scope wali kelas
2026-08-06 23:04:19 +07:00
Novy San87
f5a24a4cf0
chore: hapus debug log sementara di pdf()
2026-08-06 23:03:08 +07:00
Novy San87
c80f968abd
fix(nyata): buang Alpine x-model dari form filter laporan — konflik x-model membuat select class/jenis tidak ikut terkirim (bukti log: class_id & violation_type_id null); ganti preset/reset ke JS vanilla
2026-08-06 23:00:08 +07:00
Novy San87
fe6c34abce
debug: log filter saat cetak PDF (sementara)
2026-08-06 22:58:19 +07:00
Novy San87
1a7c18ce07
fix: tombol Cetak PDF & Export Excel jadi submit native di dalam form (formaction) — pasti membawa semua filter
2026-08-06 22:54:50 +07:00
Novy San87
7c0f1dc02a
fix: tombol Cetak PDF/Export Excel kirim filter via state Alpine (class+jenis) — bukan atribut form yang kadang tidak membawa nilai
2026-08-06 22:52:01 +07:00
Novy San87
558bb883ad
fix(ui): tata ulang filter laporan — 4 kolom rapi (tanggal/kelas/jenis), tombol Terapkan+Reset+Cepat satu baris terpisah, perbaiki div tak seimbang
2026-08-06 22:45:07 +07:00
Novy San87
0013facf5f
feat: filter Jenis Pelanggaran di Laporan Rekap — dropdown kategori+jenis (poin), berlaku untuk tampilan & cetak PDF
2026-08-06 22:43:27 +07:00
Novy San87
7ed2d7e1b3
fix: icon FA7 — megaphone/clipboard-user tidak ada di FontAwesome 7, ganti tower-broadcast & user-clock
2026-08-06 22:42:05 +07:00
Novy San87
8da3f6fac4
fix: icon sidebar wali — daftarkan house-user/clipboard-user/megaphone ke mapping nav-item (sebelumnya jatuh ke default circle)
2026-08-06 22:40:38 +07:00
Novy San87
940bba8a6a
ui: ganti icon sidebar — Data Wali Murid (house-user), Verifikasi Wali (clipboard-user), Informasi Sekolah (megaphone)
2026-08-06 22:38:59 +07:00
Novy San87
6524cb8616
ui(premium): Verifikasi Wali — header gradien + badge SiMURID, 4 kartu statistik, kartu antrean premium (avatar gradien + badge relasi + chip NISN + HP), tombol setujui/tolak gradien, konfirmasi Swal + alasan penolakan, tabel riwayat premium
2026-08-06 22:34:54 +07:00
Novy San87
dc211f3e05
fix: status akun di Data Wali Murid ikut status verifikasi tautan — pending tampil 'Menunggu verifikasi' (bukan aktif)
2026-08-06 22:32:36 +07:00
Novy San87
5b66339951
fix: simpan nomor HP wali saat registrasi & taut anak → kolom HP terisi, backfill data siswa saat approve jalan, auto-verifikasi kini benar-benar berfungsi (diuji end-to-end +62 vs 0)
2026-08-06 22:10:34 +07:00
Novy San87
505d060df2
feat: Logout jarak jauh wali — cabut semua token Sanctum dari panel admin, app langsung 401 → login ulang
2026-08-06 22:03:05 +07:00
Novy San87
5a968932a4
fix: hapus akun wali juga cabut token Sanctum → app langsung 401
2026-08-06 22:00:06 +07:00
Novy San87
c8f90866ca
feat: hapus akun wali murid — tombol Hapus + konfirmasi Swal, hapus user + tautan anak + perangkat (data siswa aman)
2026-08-06 21:57:18 +07:00
Novy San87
25502b99f3
feat: Data Wali Murid diperkaya — relasi (Ayah/Ibu/Wali), email, status akun, perangkat & last active (fix $pending/$baruMingguIni)
2026-08-06 21:52:07 +07:00
Novy San87
d83689a95b
ui(premium): Data Wali Murid — header gradien + badge SiMURID, 4 kartu statistik, search premium, tabel dengan avatar gradien & badge status pulsing, tombol reset gradien amber
2026-08-06 21:47:44 +07:00
Novy San87
eb6d8c4256
feat: Data Wali Murid terpisah — halaman khusus (daftar akun + anak + reset password), user internal difilter dari role parent
2026-08-06 21:44:52 +07:00
Novy San87
c1cdc016ba
feat: endpoint prestasi siswa (student_achievements kesiswaan)
2026-08-06 21:06:56 +07:00
Novy San87
3f780814e2
feat: endpoint kelas (wali kelas dari kesiswaan + teman sekelas) + koneksi DB kesiswaan
2026-08-06 20:44:31 +07:00
Novy San87
d9af7ef45d
feat: notifikasi + push Informasi Sekolah ke semua wali (broadcast, dedupe per hari)
2026-08-06 20:25:24 +07:00
Novy San87
c3bda9c0cf
feat: summary kehadiran berbasis hari (1 hari = 1 status utama)
2026-08-06 20:15:31 +07:00
Novy San87
30de2850f7
feat: is_read di violation_notifications + unread count + mark all read
2026-08-06 18:39:02 +07:00
Novy San87
8f866737a0
feat: endpoint notifikasi unread count (7 hari)
2026-08-06 18:34:26 +07:00
Novy San87
d3825df488
rebrand: fallback FCM SiMURID
2026-08-06 18:04:58 +07:00
Novy San87
3f25ca6c8a
feat: endpoint nilai wali (teacher_grades e-jurnal per mapel + rata-rata)
2026-08-06 13:10:41 +07:00
Novy San87
9078377e7e
feat: notifikasi kehadiran ke wali per sesi (hadir/izin/sakit) saat sync e-jurnal + fix violation_id nullable
2026-08-06 13:05:59 +07:00
Novy San87
1b49270c4a
feat: endpoint statistik pelanggaran wali (kategori, jenis, tren 6 bulan)
2026-08-06 12:52:25 +07:00
Novy San87
86950060fc
feat: kalender akademik — tabel + seed 66 event TA 2026/2027 + endpoint
2026-08-06 12:47:45 +07:00
Novy San87
e7c146a6bb
feat: endpoint riwayat poin wali (events + monthly 6 bulan)
2026-08-06 12:41:27 +07:00
Novy San87
75bafa4997
feat: endpoint attendance sertakan detail per jam (waktu time_slots + mapel schedule)
2026-08-06 12:16:06 +07:00
Novy San87
3c6f35f23c
feat: endpoint rekap kehadiran wali (per tanggal + ringkasan bulan)
2026-08-06 11:06:28 +07:00
Novy San87
8d10ca3edf
feat: jadwal sertakan nama guru (join teachers+users)
2026-08-06 11:00:11 +07:00
Novy San87
e4d3bc19bb
feat: endpoint jadwal pelajaran wali (koneksi DB e-jurnal, grouping per hari)
2026-08-06 10:55:09 +07:00
Novy San87
cebb32c248
fix: hapus otomatis token FCM yang UNREGISTERED saat kirim gagal 404
2026-08-06 10:33:18 +07:00
Novy San87
744b1241b8
feat: endpoint push-debug untuk diagnosis FCM web
2026-08-06 09:10:46 +07:00
Novy San87
18a3875d2c
fix: ParentStudentController tidak bisa panggil studentPayloads() yang protected → public
2026-08-06 09:08:46 +07:00
Novy San87
d43d99585a
chore: log kegagalan FCM di level error (LOG_LEVEL=error) + gitignore storage/firebase
2026-08-06 08:47:32 +07:00
Novy San87
b4d212ad0e
feat: FCM push notification wali (HTTP v1 + service account) — otomatis saat pelanggaran/SP, platform web didukung, command fcm:test
2026-08-06 07:19:36 +07:00
Novy San87
921a3495db
feat: API informasi sekolah hanya menampilkan info dengan tanggal hari ini
2026-08-05 21:13:29 +07:00
Novy San87
31643ff7dc
feat: menu & API Informasi Sekolah untuk aplikasi wali
...
- Tabel school_informations (judul, isi, kategori, tanggal kegiatan, publish)
- Menu admin 'Informasi Sekolah' (CRUD + permission manage-school-info)
- API wali: GET /parent/school-informations (hanya yang dipublikasikan)
- 2 data contoh: Jadwal UTS & Class Meet
- Test suite tetap hijau (39 test)
2026-08-05 21:11:06 +07:00
Novy San87
1cb1cb0569
feat: endpoint parent/school-info (data sekolah dinamis dari settings)
2026-08-05 21:05:27 +07:00
Novy San87
6907ee2968
chore: ignore build preview Flutter (aplikasi-wali, preview, apk)
2026-08-05 20:51:09 +07:00
Novy San87
a032b55025
feat: data kehadiran harian di summary API wali
...
- Relasi Student::attendances
- Summary wali kini menyertakan attendance.today_status (status jam pelajaran pertama hari ini) + school_start 07:00
2026-08-05 20:51:04 +07:00
Novy San87
3efce0f919
feat: API wali murid (Sanctum) + verifikasi admin
...
- Pasang laravel/sanctum, routes/api.php (prefix api/v1, 10 endpoint)
- Migrasi: parent_name di students, parent_students (pivot wali↔anak),
parent_devices (token FCM), permission parents-verify
- Auth wali: registrasi NISN+HP (auto-verify jika HP cocok data siswa,
pending jika tidak) + login token Sanctum
- Endpoint: me, logout, students, link anak, violations, sp-letters,
notifications, register device
- Halaman admin Verifikasi Wali (approve/reject) + menu sidebar
- Sync kesiswaan: tarik data orang tua (student_parents) ke students
- 8 feature test baru (ParentApiTest) — total suite 39 test hijau
2026-08-05 18:58:29 +07:00
Novy San87
b06419624b
Fix viewfinder hilang: aspect-[3/4] tidak di-generate Tailwind v4 → CSS manual .face-viewfinder (3:4 HP, 4:3 desktop)
2026-08-05 18:29:26 +07:00
Novy San87
28abd132c9
Face scan: viewfinder lebih lega di HP (rasio 3:4 potret) — desktop tetap 4:3
2026-08-05 18:28:16 +07:00
Novy San87
04ddadce19
Face scan: tampilkan hanya kandidat dengan skor >= 0.45 (ambang cocok microservice) — kandidat skor rendah tidak muncul lagi, hanya siswa yang dikenali
2026-08-05 18:26:19 +07:00