Geen omschrijving
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TindakanController.php 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Pelaporan;
  4. use App\Models\Tindakan;
  5. use Illuminate\Http\Request;
  6. class TindakanController extends Controller
  7. {
  8. public function index(Request $request)
  9. {
  10. $user = $request->user();
  11. if ($user->role == 'admin') {
  12. // Jika pengguna adalah admin, hitung total berdasarkan tindakan_id
  13. $laporan = Pelaporan::with('tindakan','user')->get();
  14. } elseif ($user->role == 'user') {
  15. // Jika pengguna adalah pengguna biasa, hitung riwayat pelaporan milik pengguna tersebut
  16. $riwayat = Pelaporan::where('user_id', $user->id)->get();
  17. // Menghitung total riwayat pelaporan yang dimiliki oleh pengguna
  18. $laporan = $riwayat->with('tindakan','user')->count();
  19. }
  20. $pelaporans = Pelaporan::query();
  21. if ($request->has('search')) {
  22. $pelaporans->where('judul', 'LIKE', '%' . $request->search . '%');
  23. }
  24. $pelaporans = $pelaporans->get();
  25. return view('admin.tindakan.index', compact('pelaporans', 'laporan'));
  26. }
  27. public function edit($id){
  28. $laporan = Pelaporan::with('tindakan','user')->get();
  29. $pelaporans = Pelaporan::find($id);
  30. $tindakans = Tindakan::all();
  31. return view('admin.tindakan.update', compact('pelaporans', 'tindakans','laporan'));
  32. }
  33. public function update(Request $request, $id){
  34. $request->validate([
  35. 'tindakan_id' => 'required', // Sesuaikan aturan validasi sesuai kebutuhan
  36. ]);
  37. $pelaporans = Pelaporan::find($id);
  38. // dd($request->all(), $pelaporans);
  39. $pelaporans->tindakan_id = $request->tindakan_id;
  40. $pelaporans->save();
  41. return redirect()->route('tindakan.index')->with('success', 'Tindakan berhasil diperbarui.');
  42. }
  43. public function show(Request $request, $id){
  44. $laporan = Pelaporan::with('tindakan','user')->get();
  45. $pelaporans = Pelaporan::find($id);
  46. $tindakans = Tindakan::all();
  47. return view('admin.tindakan.show', compact('pelaporans', 'tindakans','laporan'));
  48. }
  49. public function destroy($id)
  50. {
  51. $pelaporan = Pelaporan::find($id);
  52. if ($pelaporan) {
  53. $pelaporan->delete();
  54. return redirect()->route('tindakan.index')->with('success', 'Tindakan berhasil dihapus.');
  55. } else {
  56. return redirect()->route('tindakan.index')->with('error', 'Tindakan tidak ditemukan.');
  57. }
  58. }
  59. }