123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- <?php
-
- namespace App\Http\Controllers;
-
- use App\Models\Informasi;
- use App\Models\Pelaporan;
- use Illuminate\Http\Request;
-
- class InformasiController extends Controller
- {
- public function adminIndex(Request $request){
- $user = $request->user();
- if ($user->role == 'admin') {
- // Jika pengguna adalah admin, hitung total berdasarkan tindakan_id
- $laporan = Pelaporan::with('tindakan','user')->get();
-
- } elseif ($user->role == 'user') {
- // Jika pengguna adalah pengguna biasa, hitung riwayat pelaporan milik pengguna tersebut
- $laporan = Pelaporan::where('user_id', $user->id)->get();
- // Menghitung total riwayat pelaporan yang dimiliki oleh pengguna
- $count = $laporan->count();
- }
-
- $informasis = Informasi::query();
-
- if ($request->has('search')) {
- $informasis->where('kategori', 'LIKE', '%' . $request->search . '%');
- }
-
- $informasis = $informasis->get();
- return view('admin.informasi.index', compact('laporan', 'informasis'));
- }
-
- public function adminCreate()
- {
- $laporan = Pelaporan::with('tindakan','user')->get();
-
- return view('admin.informasi.create',compact('laporan'));
- }
- public function adminStore(Request $request)
- {
- $request->validate([
- 'judul' => 'required',
- 'kategori' => 'required',
- 'foto' => 'nullable|image|mimes:jpeg,png,jpg,gif,pdf',
- ],[
- 'judul.Required'=>'Judul Wajib Diisi',
- 'kategori.Required'=>'Kategori Wajib Diisi',
- 'foto.nullable'=>'Foto Tidak Boleh Kosong',
- 'foto.image'=>'Foto Harus Berupa Image ',
- 'foto.mimes'=>'Foto Harus JPEG,PNG,JPG,GIF,PDF',
- ]);
-
- $informasi = new Informasi();
- $informasi->judul = $request->input('judul');
- $informasi->kategori = $request->input('kategori');
- if ($request->hasFile('foto')) {
- $fotos = time().'.'.$request->foto->extension();
- $request->foto->move(public_path('foto'), $fotos);
- $informasi->foto = $fotos;
- }
-
- $informasi->save();
-
- return redirect()->route('informasi.adminIndex')->with('success', 'Informasi berhasil disimpan.');
- }
-
- public function adminEdit($id)
- {
- $laporan = Pelaporan::with('tindakan','user')->get();
- $informasis = Informasi::find($id);
- return view('admin.informasi.update', compact('informasis', 'laporan'));
- }
-
- public function adminUpdate(Request $request, $id)
- {
- $request->validate([
- 'judul' => 'required',
- 'kategori' => 'required',
- 'foto' => 'nullable|image|mimes:jpeg,png,jpg,gif,pdf',
- ],[
- 'judul.Required'=>'Judul Wajib Diisi',
- 'kategori.Required'=>'Kategori Wajib Diisi',
- 'foto.nullable'=>'Foto Tidak Boleh Kosong',
- 'foto.image'=>'Foto Harus Berupa Image ',
- 'foto.mimes'=>'Foto Harus JPEG,PNG,JPG,GIF,PDF',
- ]);
-
- $informasis = Informasi::find($id);
-
- if (!$informasis) {
- return redirect()->route('informasi.adminIndex')->with('error', 'Informasi tidak ditemukan.');
- }
-
- $informasis->update($request->all());
-
- if ($request->hasFile('foto')) {
- $fotoPath = $request->file('foto')->store('uploads');
- $informasis->foto = $fotoPath;
- $informasis->save();
- }
-
- return redirect()->route('informasi.adminIndex')->with('success', 'Informasi berhasil diperbarui.');
- }
-
- public function adminDestroy($id)
- {
- $informasis = Informasi::find($id);
-
- if ($informasis) {
- $informasis->delete();
- return redirect()->route('informasi.adminIndex')->with('success', 'Informasi berhasil dihapus.');
- } else {
- return redirect()->route('informasi.adminIndex')->with('error', 'Informasi tidak ditemukan.');
- }
- }
-
- public function userIndex(Request $request)
- {
- $user = $request->user();
- if ($user->role == 'admin') {
- // Jika pengguna adalah admin, hitung total berdasarkan tindakan_id
- $laporan = Pelaporan::with('tindakan','user')->get();
- } elseif ($user->role == 'user') {
- // Jika pengguna adalah pengguna biasa, hitung riwayat pelaporan milik pengguna tersebut
- $laporan = Pelaporan::where('user_id', $user->id)->get();
- // Menghitung total riwayat pelaporan yang dimiliki oleh pengguna
- $count = $laporan->count();
- }
-
- // Menggunakan kueri baru untuk mengambil data dari model Informasi
- $informasis = Informasi::query();
-
- if ($request->has('search')) {
- $informasis->where('kategori', 'LIKE', '%' . $request->search . '%');
- }
-
- // Mengambil hasil kueri dari model Informasi
- $informasis = $informasis->get();
-
- return view('users.informasi.index', compact('laporan', 'informasis'));
- }
-
-
- public function userShow(Request $request, $id)
- {
- $user = $request->user();
- if ($user->role == 'admin') {
- // Jika pengguna adalah admin, hitung total berdasarkan tindakan_id
- $laporan = Pelaporan::with('tindakan', 'user')->get();
- } elseif ($user->role == 'user') {
- // Jika pengguna adalah pengguna biasa, hitung riwayat pelaporan milik pengguna tersebut
- $laporan = Pelaporan::where('user_id', $user->id)->get();
- // Menghitung total riwayat pelaporan yang dimiliki oleh pengguna
- $count = $laporan->count();
- }
-
- // Menggunakan kueri baru untuk mengambil data dari model Informasi berdasarkan ID
- $informasis = Informasi::findOrFail($id);
- return view('users.informasi.show', compact('laporan', 'informasis'));
- }
-
-
-
-
- }
|