diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index d527355..ad343c4 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -7,10 +7,6 @@ use App\Models\MasterInduk; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; -use App\Models\User; -use App\Models\MasterInduk; -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Hash; class UserController extends Controller { @@ -38,63 +34,6 @@ public function create() return view('admin.pengguna.create', ['pageTitle' => 'Tambah Pengguna Baru']); } - public function store(Request $request) - { - $request->validate([ - 'nama_lengkap' => 'required|string|max:255', - 'email' => 'required|email|unique:users,email', - 'role' => 'required|in:siswa,guru,penjaga perpus', - 'no_hp' => 'nullable|string|max:20', - 'password' => 'required|min:6|confirmed', - 'nomor_induk' => [ - 'required', - function ($attribute, $value, $fail) use ($request) { - $label = $request->role == 'siswa' ? 'NISN' : 'NIP/NIK'; - - // Cek Nisn/Nip sudah dipakai di tabel users - $sudahDipakai = User::where('nisn', $value)->orWhere('nip', $value)->exists(); - if ($sudahDipakai) { - $fail("{$label} ini sudah digunakan oleh akun lain."); - return; - } - - if (in_array($request->role, ['siswa', 'guru'])) { - $terdaftar = MasterInduk::where('nomor_induk', $value) - ->where('role', $request->role) - ->exists(); - if (!$terdaftar) { - $fail("{$label} tidak terdaftar di data sekolah. Hubungi admin."); - } - } - }, - ], - ], [ - 'role.in' => 'Pilih role yang valid.', - 'email.unique' => 'Email sudah terdaftar.', - 'password.confirmed' => 'Konfirmasi password tidak cocok.' - ]); - - $user = new User(); - $user->name = $request->nama_lengkap; - $user->email = $request->email; - $user->role = $request->role; - $user->password = Hash::make($request->password); - $user->no_hp = $request->no_hp; - - // Validasi NISN dan NIP berdasarkan Role - if ($request->role == 'siswa') { - $user->nisn = $request->nomor_induk; - $user->kelas = $request->kelas; - $user->golongan = $request->golongan; - } else { - $user->nip = $request->nomor_induk; - } - - $user->save(); - - return redirect()->route('admin.pengguna.index')->with('success', 'Pengguna berhasil ditambahkan.'); - } - public function edit($id) { $pengguna = User::findOrFail($id); @@ -104,77 +43,6 @@ public function edit($id) ]); } - public function update(Request $request, $id) - { - $request->validate([ - 'nama_lengkap' => 'required|string|max:255', - 'email' => 'required|email|unique:users,email,' . $id, - 'role' => 'required|in:siswa,guru,penjaga perpus', - 'no_hp' => 'nullable|string|max:20', - 'password' => 'nullable|min:6|confirmed', - 'nomor_induk' => [ - 'required', - function ($attribute, $value, $fail) use ($request, $id) { - $label = $request->role == 'siswa' ? 'NISN' : 'NIP/NIK'; - - // cek nisn/nip sudah dipakai di tabel users (kecuali oleh dirinya sendiri) - $sudahDipakai = User::where(function ($query) use ($value) { - $query->where('nisn', $value)->orWhere('nip', $value); - })->where('id', '!=', $id)->exists(); - - if ($sudahDipakai) { - $fail("{$label} ini sudah digunakan oleh akun lain."); - return; - } - - if (in_array($request->role, ['siswa', 'guru'])) { - $terdaftar = MasterInduk::where('nomor_induk', $value) - ->where('role', $request->role) - ->exists(); - if (!$terdaftar) { - $fail("{$label} tidak terdaftar di data sekolah. Hubungi admin."); - } - } - }, - ], - ]); - - $user = User::findOrFail($id); - $user->name = $request->nama_lengkap; - $user->email = $request->email; - $user->role = $request->role; - $user->no_hp = $request->no_hp; - - // Jika password diisi, maka update. Jika kosong, biarkan password lama. - if ($request->filled('password')) { - $user->password = \Illuminate\Support\Facades\Hash::make($request->password); - } - - $user->nisn = null; - $user->nip = null; - $user->kelas = null; - $user->golongan = null; - - // Masukkan kembali sesuai role - if ($request->role == 'siswa') { - $user->nisn = $request->nomor_induk; - $user->kelas = $request->kelas; - $user->golongan = $request->golongan; - } else { - $user->nip = $request->nomor_induk; - } - - $user->save(); - - return redirect()->route('admin.pengguna.index')->with('success', 'Data pengguna berhasil diperbarui.'); - } - - public function destroy($id) - { - User::findOrFail($id)->delete(); - return back()->with('success', 'Pengguna berhasil dihapus.'); - } - public function store(Request $request) { $validated = $request->validate([ diff --git a/app/Http/Controllers/RiwayatController.php b/app/Http/Controllers/RiwayatController.php index 2ab38b9..6dbf1a1 100644 --- a/app/Http/Controllers/RiwayatController.php +++ b/app/Http/Controllers/RiwayatController.php @@ -5,7 +5,6 @@ use App\Models\Loan; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Facades\Auth; class RiwayatController extends Controller { diff --git a/resources/views/admin/denda/index.blade.php b/resources/views/admin/denda/index.blade.php index b7fe340..e964fc0 100644 --- a/resources/views/admin/denda/index.blade.php +++ b/resources/views/admin/denda/index.blade.php @@ -218,8 +218,7 @@ function(settings, data, dataIndex) { }); $.ajax({ - url: '{{ route(' - admin.denda.sanksi ') }}', + url: "{{ route('admin.denda.sanksi') }}", method: 'POST', data: { _token: '{{ csrf_token() }}', @@ -266,8 +265,7 @@ function(settings, data, dataIndex) { }); $.ajax({ - url: '{{ route(' - admin.denda.sanksi ') }}', + url: "{{ route('admin.denda.sanksi ') }}", method: 'POST', data: { _token: '{{ csrf_token() }}', diff --git a/resources/views/admin/peminjaman/index.blade.php b/resources/views/admin/peminjaman/index.blade.php index 0b47ddd..ecf9f0c 100644 --- a/resources/views/admin/peminjaman/index.blade.php +++ b/resources/views/admin/peminjaman/index.blade.php @@ -382,8 +382,7 @@ function hitungTotalDenda(modal) { function finishTransaction(returnsData, userId, waLink) { $.ajax({ - url: '{{ route(' - admin.peminjaman.kembali ') }}', + url: "{{ route('admin.peminjaman.kembali ') }}", method: 'POST', data: { _token: '{{ csrf_token() }}', diff --git a/resources/views/admin/pengguna/index.blade.php b/resources/views/admin/pengguna/index.blade.php index 61a7642..2a41074 100644 --- a/resources/views/admin/pengguna/index.blade.php +++ b/resources/views/admin/pengguna/index.blade.php @@ -71,23 +71,26 @@ @endif