Commit Graph

  • dc9315be9e fix: violation alpha sync per (siswa, tanggal) — hapus violation lama saat push koreksi tanpa alpha main Novy San87 2026-08-31 18:04:05 +07:00
  • 0f8171e3c1 fix(tatib): jenis pelanggaran di PDF SP tampil '-' jika pelanggaran sudah dihapus — pakai withTrashed() agar snapshot SP tetap menampilkan nama jenis pelanggaran Novy San87 2026-08-26 11:39:44 +07:00
  • e6eb7ac419 style(tatib): PDF SP — tanggal pelanggaran ditampilkan dengan nama hari (Rabu, 19 Agustus 2026) Novy San87 2026-08-26 11:37:35 +07:00
  • 80062fcfb4 style(tatib): PDF SP — blok tanda tangan dikurangi 1 tab (padding-left 19em) Novy San87 2026-08-26 11:36:33 +07:00
  • 221f3ae027 style(tatib): PDF SP — margin kanan 1.5cm Novy San87 2026-08-26 11:35:50 +07:00
  • 6688865090 style(tatib): PDF SP — margin kiri 2cm Novy San87 2026-08-26 11:35:13 +07:00
  • 0bfeed1d08 style(tatib): PDF SP — seluruh isi surat 11pt (judul, nomor, identitas, paragraf, tabel, TTD), kop surat tetap; line-height 1.4 & margin bawah 0.8cm dikembalikan karena ruang lega; tetap 1 lembar F4 Novy San87 2026-08-26 11:34:29 +07:00
  • ac85976d18 style(tatib): PDF SP — isi tabel pelanggaran 11pt, header tabel tetap 12pt Novy San87 2026-08-26 11:32:47 +07:00
  • 79f3b8c757 style(tatib): PDF SP — jarak paragraf penutup ke blok Wonorejo dikembalikan 1 enter penuh (1.4em) Novy San87 2026-08-26 11:30:19 +07:00
  • ea61a16427 style(tatib): PDF SP — font blok tanda tangan dikecilkan ke 11pt Novy San87 2026-08-26 11:29:27 +07:00
  • 1edca2da0a style(tatib): PDF SP — blok tanda tangan digeser ke kanan 2 tab (padding-left 22em) Novy San87 2026-08-26 11:28:35 +07:00
  • 753b23fef5 style(tatib): PDF SP — alamat & kontak kop surat dibesarkan ke 10pt Novy San87 2026-08-26 11:26:57 +07:00
  • aa30c9a0b2 style(tatib): PDF SP — margin atas jadi 1cm (masih muat 1 lembar F4) Novy San87 2026-08-26 11:25:59 +07:00
  • 2dde88e10d style(tatib): PDF SP — 3 baris kop instansi dirapatkan tanpa spasi antar baris (line-height 1) Novy San87 2026-08-26 11:25:02 +07:00
  • f80ac989b3 style(tatib): PDF SP — logo kop diperbesar ke 70px (proporsional dengan teks), padding tabel 3px, alamat kop 7.5pt; tetap 1 lembar F4 Novy San87 2026-08-26 11:24:12 +07:00
  • 44207c9aed style(tatib): PDF SP — enter 1x antara 'Berikut daftar pelanggaran :' dan tabel; kompensasi margin/line-height agar tetap 1 lembar F4 Novy San87 2026-08-26 11:22:11 +07:00
  • df74334617 style(tatib): PDF SP — font kop (PEMERINTAH/DINAS/SEKOLAH) disamakan 13pt dengan judul SURAT PERINGATAN; kompensasi margin & tabel agar tetap 1 lembar F4 Novy San87 2026-08-26 11:20:15 +07:00
  • e742b16b76 style(tatib): PDF SP — enter 2x antara 'Kepala SMKN...' dan nama Kepala Sekolah (ruang tanda tangan & stempel); kompensasi margin/tabel agar tetap 1 lembar F4 Novy San87 2026-08-26 11:18:54 +07:00
  • 86f554c944 style(tatib): PDF SP — enter 1x antara paragraf penutup dan blok 'Wonorejo, ...' (kompensasi: margin atas 0.8cm, kop lebih ringkas); tetap 1 lembar F4 Novy San87 2026-08-26 11:17:50 +07:00
  • fb0456b1e8 style(tatib): PDF SP — kompensasi line-height 1.4 + margin bawah 0.7cm agar tetap 1 lembar setelah enter di blok nomor surat Novy San87 2026-08-26 11:16:57 +07:00
  • 436f02a97d style(tatib): PDF SP — enter 1x antara baris 'Nomor: ...' dan 'Kepada Yth...' Novy San87 2026-08-26 11:16:42 +07:00
  • 105d307c59 style(tatib): PDF SP — enter 1x antara 'di Tempat' dan paragraf 'Berdasarkan...' (revert enter sebelum di Tempat) Novy San87 2026-08-26 11:16:11 +07:00
  • 14cb098bbf style(tatib): PDF SP — tambah 1 baris kosong sebelum 'di Tempat' agar tidak menempel ke baris NISN Novy San87 2026-08-26 11:15:27 +07:00
  • 7760e2e494 style(tatib): PDF SP — spasi antar baris dilonggarkan (line-height 1.42), padding tabel & ruang tanda tangan diperbaiki, blok TTD digeser agar nama Kepala Sekolah 1 baris; tetap 1 lembar F4 Novy San87 2026-08-26 11:14:20 +07:00
  • 0003ade44a fix(tatib): nama file PDF SP diberi timestamp (SP-xxx-YYYYMMDD-HHMMSS.pdf) supaya tidak tertukar file lama saat download Novy San87 2026-08-26 11:07:08 +07:00
  • 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 Novy San87 2026-08-26 11:05:19 +07:00
  • 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 Novy San87 2026-08-26 10:58:29 +07:00
  • 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" Novy San87 2026-08-26 10:54:05 +07:00
  • 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 Novy San87 2026-08-26 10:53:01 +07:00
  • 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 Novy San87 2026-08-26 10:51:20 +07:00
  • 076cb7bb3c style(tatib): PDF SP — margin atas 2cm→1.5cm; font isi surat diseragamkan 12pt (nomor surat, tabel pelanggaran, NIP), judul tetap 13pt Novy San87 2026-08-26 10:50:31 +07:00
  • 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 Novy San87 2026-08-26 10:47:40 +07:00
  • 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 Novy San87 2026-08-22 20:14:08 +07:00
  • 39c9e031fd chore: jangan commit build Flutter public/aplikasi-ejurnal (artefak build, bukan sumber) Novy San87 2026-08-22 20:10:51 +07:00
  • 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) Novy San87 2026-08-22 20:10:34 +07:00
  • f7adecc22c docs: tambah BACKUP.md — info backup otomatis (backup-all.sh, /home/guru-tkj/backups/harian/) Novy San87 2026-08-20 21:12:47 +07:00
  • 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 Novy San87 2026-08-19 14:43:01 +07:00
  • 21722479d0 fix(api): file_url SP & url foto bukti kini pakai prefix storage/ — perbaiki unduh PDF yang nyasar ke halaman login Novy San87 2026-08-07 15:11:48 +07:00
  • 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) Novy San87 2026-08-07 15:06:16 +07:00
  • 5c682476e0 fix(sp-letters): alamat jadi 'Kepada Yth. Bapak/Ibu/Wali Murid' Novy San87 2026-08-07 15:02:14 +07:00
  • a60842b207 fix(sp-letters): judul SURAT PERINGATAN diberi garis bawah Novy San87 2026-08-07 15:01:22 +07:00
  • fb558bdce9 fix(sp-letters): nomor surat jadi huruf besar 'SP-2/001/08/2026' (generasi baru + data lama di-update) Novy San87 2026-08-07 15:00:47 +07:00
  • 911064805b fix(sp-letters): 'di tempat' → 'di Tempat' Novy San87 2026-08-07 14:59:44 +07:00
  • f06fcdda98 fix(sp-letters): indent blok tanda tangan tambah 6 tab (total 24em) Novy San87 2026-08-07 14:59:04 +07:00
  • a6db6ba6ff fix(sp-letters): indent blok tanda tangan tambah 6 tab (total 18em) Novy San87 2026-08-07 14:58:27 +07:00
  • 8670f786ea fix(sp-letters): indent blok tanda tangan tambah 6 tab (total 12em) Novy San87 2026-08-07 14:57:46 +07:00
  • 7494e8b9b1 fix(sp-letters): indent blok tanda tangan 5→6 tab Novy San87 2026-08-07 14:57:06 +07:00
  • f15419e226 fix(sp-letters): blok tanda tangan diberi indent 5 tab Novy San87 2026-08-07 14:56:25 +07:00
  • 2e1e1bd2bf fix(sp-letters): tanggal tanda tangan jadi 'Wonorejo, 7 Agustus 2026' (setting school_place, default Wonorejo) Novy San87 2026-08-07 14:55:38 +07:00
  • fd9620a3bd fix(sp-letters): spasi antar baris blok tanda tangan jadi 1 spasi Novy San87 2026-08-07 14:54:43 +07:00
  • db999ffeb7 fix(sp-letters): blok tanda tangan (tanggal, Kepala, nama, NIP) rata kiri Novy San87 2026-08-07 14:54:11 +07:00
  • 1e2c53b522 fix(sp-letters): paragraf penutup diberi indentasi 2 tab Novy San87 2026-08-07 14:52:51 +07:00
  • 7b54d8dc33 fix(sp-letters): paragraf penutup — 'Saudara/i' diganti nama siswa (tebal) Novy San87 2026-08-07 14:51:31 +07:00
  • c7dd8c5dfb fix(sp-letters): uraian pelanggaran tampil miring kecil di bawah jenis pelanggaran Novy San87 2026-08-07 14:49:27 +07:00
  • e749c19073 fix(sp-letters): kolom 'Jenis Pelanggaran' tampilkan nama jenis pelanggaran (bukan description) Novy San87 2026-08-07 14:48:16 +07:00
  • cf3a94794b fix(sp-letters): tanggal pelanggaran dikonversi ke Asia/Jakarta sebelum format — cegah geser -1 hari (snapshot tersimpan UTC) Novy San87 2026-08-07 14:45:58 +07:00
  • a9efc83dab fix(sp-letters): tanggal pelanggaran jadi format 'Hari, 02 Agustus 2026' (locale id) Novy San87 2026-08-07 14:43:13 +07:00
  • 59981abab0 fix(sp-letters): daftar pelanggaran jadi tabel (Tanggal | Jenis | Point) + baris Total, tanpa bullet Novy San87 2026-08-07 14:41:04 +07:00
  • c44eb84346 fix(sp-letters): paragraf pembuka diberi indentasi 2 tab (text-indent 2em) Novy San87 2026-08-07 14:37:47 +07:00
  • 670be7ebad fix(sp-letters): kalimat pembuka — 'kepada ananda NAMA (tebal)' menggantikan 'Saudara/i' Novy San87 2026-08-07 14:36:47 +07:00
  • 98614545fc fix(sp-letters): alamat 'Kepada Yth. Bapak/Ibu/Wali' + nama siswa uppercase langsung di bawahnya, jarak 1 spasi Novy San87 2026-08-07 14:32:50 +07:00
  • fffb35e868 fix(sp-letters): rapatkan jarak judul SURAT PERINGATAN dengan Nomor surat (1 spasi) Novy San87 2026-08-07 14:30:42 +07:00
  • 743a4d39fa fix(sp-letters): kertas cetak F4 (210x330mm) dengan margin kiri-kanan 1cm Novy San87 2026-08-07 14:29:42 +07:00
  • 9877f93e8f fix(sp-letters): logo di cetakan pakai asset() URL, bukan public_path() filesystem — perbaiki logo pecah (kotak image) saat cetak surat Novy San87 2026-08-07 14:28:46 +07:00
  • 0d8c40af40 fix(modal): tambah overflow-hidden di container modal reset & tolak — sudut header gradien kini mengikuti radius container Novy San87 2026-08-07 12:47:46 +07:00
  • 44fde365d9 ui(reset-password): samakan dengan modal premium lain — container max-w-xl, header gradien amber-oranye, input pakai kelas .input seragam Novy San87 2026-08-07 12:46:04 +07:00
  • 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 Novy San87 2026-08-07 12:40:27 +07:00
  • 9e48b67e94 fix(parent): saat wali membuat link baru, hapus otomatis link REJECTED lain (NISN salah) — cegah siswa dobel di aplikasi Novy San87 2026-08-07 10:54:22 +07:00
  • 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 Novy San87 2026-08-07 10:47:40 +07:00
  • e20cb2d478 feat(parent): kirim rejection_reason ke app wali + izinkan tautkan ulang setelah ditolak (link rejected dibuka lagi jadi pending/active) Novy San87 2026-08-07 10:43:27 +07:00
  • 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 Novy San87 2026-08-07 09:53:51 +07:00
  • 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 Novy San87 2026-08-07 09:50:14 +07:00
  • 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 Novy San87 2026-08-07 09:39:32 +07:00
  • 503e910e18 feat: sinkronisasi foto siswa dari kesiswaan (photo_url PAS FOTO) + API wali return URL absolut Novy San87 2026-08-07 08:27:44 +07:00
  • 2b354e9e46 fix: laporan rekap pakai snapshot student_class (kelas saat pelanggaran) — akurat walau siswa naik kelas/lulus Novy San87 2026-08-06 23:10:22 +07:00
  • 27e1e71fc9 fix: Export Excel kini mengikuti semua filter (periode, kelas, jenis pelanggaran) + scope wali kelas Novy San87 2026-08-06 23:04:19 +07:00
  • f5a24a4cf0 chore: hapus debug log sementara di pdf() Novy San87 2026-08-06 23:03:08 +07:00
  • 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 Novy San87 2026-08-06 23:00:08 +07:00
  • fe6c34abce debug: log filter saat cetak PDF (sementara) Novy San87 2026-08-06 22:58:19 +07:00
  • 1a7c18ce07 fix: tombol Cetak PDF & Export Excel jadi submit native di dalam form (formaction) — pasti membawa semua filter Novy San87 2026-08-06 22:54:50 +07:00
  • 7c0f1dc02a fix: tombol Cetak PDF/Export Excel kirim filter via state Alpine (class+jenis) — bukan atribut form yang kadang tidak membawa nilai Novy San87 2026-08-06 22:52:01 +07:00
  • 558bb883ad fix(ui): tata ulang filter laporan — 4 kolom rapi (tanggal/kelas/jenis), tombol Terapkan+Reset+Cepat satu baris terpisah, perbaiki div tak seimbang Novy San87 2026-08-06 22:45:07 +07:00
  • 0013facf5f feat: filter Jenis Pelanggaran di Laporan Rekap — dropdown kategori+jenis (poin), berlaku untuk tampilan & cetak PDF Novy San87 2026-08-06 22:43:27 +07:00
  • 7ed2d7e1b3 fix: icon FA7 — megaphone/clipboard-user tidak ada di FontAwesome 7, ganti tower-broadcast & user-clock Novy San87 2026-08-06 22:42:05 +07:00
  • 8da3f6fac4 fix: icon sidebar wali — daftarkan house-user/clipboard-user/megaphone ke mapping nav-item (sebelumnya jatuh ke default circle) Novy San87 2026-08-06 22:40:38 +07:00
  • 940bba8a6a ui: ganti icon sidebar — Data Wali Murid (house-user), Verifikasi Wali (clipboard-user), Informasi Sekolah (megaphone) Novy San87 2026-08-06 22:38:59 +07:00
  • 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 Novy San87 2026-08-06 22:34:54 +07:00
  • dc211f3e05 fix: status akun di Data Wali Murid ikut status verifikasi tautan — pending tampil 'Menunggu verifikasi' (bukan aktif) Novy San87 2026-08-06 22:32:36 +07:00
  • 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) Novy San87 2026-08-06 22:10:34 +07:00
  • 505d060df2 feat: Logout jarak jauh wali — cabut semua token Sanctum dari panel admin, app langsung 401 → login ulang Novy San87 2026-08-06 22:03:05 +07:00
  • 5a968932a4 fix: hapus akun wali juga cabut token Sanctum → app langsung 401 Novy San87 2026-08-06 22:00:06 +07:00
  • c8f90866ca feat: hapus akun wali murid — tombol Hapus + konfirmasi Swal, hapus user + tautan anak + perangkat (data siswa aman) Novy San87 2026-08-06 21:57:18 +07:00
  • 25502b99f3 feat: Data Wali Murid diperkaya — relasi (Ayah/Ibu/Wali), email, status akun, perangkat & last active (fix $pending/$baruMingguIni) Novy San87 2026-08-06 21:52:07 +07:00
  • 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 Novy San87 2026-08-06 21:47:44 +07:00
  • eb6d8c4256 feat: Data Wali Murid terpisah — halaman khusus (daftar akun + anak + reset password), user internal difilter dari role parent Novy San87 2026-08-06 21:44:52 +07:00
  • c1cdc016ba feat: endpoint prestasi siswa (student_achievements kesiswaan) Novy San87 2026-08-06 21:06:56 +07:00
  • 3f780814e2 feat: endpoint kelas (wali kelas dari kesiswaan + teman sekelas) + koneksi DB kesiswaan Novy San87 2026-08-06 20:44:31 +07:00
  • d9af7ef45d feat: notifikasi + push Informasi Sekolah ke semua wali (broadcast, dedupe per hari) Novy San87 2026-08-06 20:25:24 +07:00
  • c3bda9c0cf feat: summary kehadiran berbasis hari (1 hari = 1 status utama) Novy San87 2026-08-06 20:15:31 +07:00
  • 30de2850f7 feat: is_read di violation_notifications + unread count + mark all read Novy San87 2026-08-06 18:39:02 +07:00