123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- <?php
-
- namespace App\Http\Controllers;
-
- use App\Models\Apresiasi;
- use App\Models\Pelaporan;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
-
- class ApresiasiController extends Controller
- {
- 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();
- }
-
- $apresiasi = Apresiasi::query();
-
- if ($request->has('search')) {
- $apresiasi->where('judul', 'LIKE', '%' . $request->search . '%');
- }
-
- $apresiasi = $apresiasi->get();
- return view('users.apresiasi.index', compact('laporan', 'apresiasi'));
- }
-
- public function userCreate()
- {
- $laporan = Pelaporan::with('tindakan','user')->get();
-
- return view('users.apresiasi.create',compact('laporan'));
- }
- public function userStore(Request $request)
- {
- $request->validate([
- 'judul' => 'required',
- 'deskripsi' => 'required',
- 'lokasi' => 'required',
- 'tanggal' => 'required',
- 'foto' => 'nullable|image|mimes:jpeg,png,jpg,gif,pdf',
- ],[
- 'judul.required' => 'Judul Wajib Diisi',
- 'deskripsi.required' => 'Deskripsi Wajib Diisi',
- 'lokasi.required' => 'Lokasi Wajib Diisi',
- 'tanggal.required' => 'Tanggal Wajib Diisi',
- 'foto.nullable' => 'Foto Tidak Boleh Kosong',
- 'foto.image' => 'Foto Harus Berupa Image ',
- 'foto.mimes' => 'Foto Harus JPEG, PNG, JPG, GIF, PDF',
- ]);
-
- $apresiasi = new Apresiasi();
- $apresiasi->judul = $request->input('judul');
- $apresiasi->deskripsi = $request->input('deskripsi');
- $apresiasi->tanggal = $request->input('tanggal');
- $apresiasi->lokasi = $request->input('lokasi');
- $apresiasi->user_id = Auth::id(); // Set the authenticated user's ID
-
- if ($request->hasFile('foto')) {
- $fotos = time() . '.' . $request->foto->extension();
- $request->foto->move(public_path('foto'), $fotos);
- $apresiasi->foto = $fotos;
- }
-
- $apresiasi->save();
-
- return redirect()->route('apresiasi.userIndex')->with('success', 'Pelaporan Apresiasi berhasil disimpan.');
- }
-
- public function userEdit($id)
- {
- $laporan = Pelaporan::with('tindakan','user')->get();
- $apresiasi = Apresiasi::find($id);
- return view('users.apresiasi.update', compact('apresiasi', 'laporan'));
- }
-
- public function userUpdate(Request $request, $id)
- {
- $request->validate([
- 'judul' => 'required',
- 'deskripsi' => 'required',
- 'lokasi' => 'required',
- 'tanggal' => 'required',
- 'foto' => 'nullable|image|mimes:jpeg,png,jpg,gif,pdf',
- ],[
- 'judul.required' => 'Judul Wajib Diisi',
- 'deskripsi.required' => 'Deskripsi Wajib Diisi',
- 'lokasi.required' => 'Lokasi Wajib Diisi',
- 'tanggal.required' => 'Tanggal Wajib Diisi',
- 'foto.nullable' => 'Foto Tidak Boleh Kosong',
- 'foto.image' => 'Foto Harus Berupa Image ',
- 'foto.mimes' => 'Foto Harus JPEG, PNG, JPG, GIF, PDF',
- ]);
-
- $apresiasi = Apresiasi::find($id);
- $apresiasi->update($request->all());
-
- if ($request->hasFile('foto')) {
- $fotoPath = $request->file('foto')->store('uploads');
- $apresiasi->foto = $fotoPath;
- $apresiasi->save();
- }
-
- return redirect()->route('apresiasi.userIndex')->with('success', 'Pelaporan Apresiasi berhasil diperbarui.');
- }
-
- public function userDestroy($id)
- {
- $apresiasi = Apresiasi::find($id);
- $apresiasi->delete();
-
- return redirect()->route('apresiasi.userIndex')->with('success', 'Pelaporan Apresiasi berhasil dihapus.');
- }
-
- public function userShow(Request $request, $id){
- $laporan = Pelaporan::with('tindakan','user')->get();
- $apresiasi = Apresiasi::find($id);
- return view('users.apresiasi.show', compact( 'apresiasi','laporan'));
- }
-
- 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();
- }
-
- $apresiasi = Apresiasi::query();
-
- if ($request->has('search')) {
- $apresiasi->where('judul', 'LIKE', '%' . $request->search . '%');
- }
-
- $apresiasi = $apresiasi->get();
- return view('admin.apresiasi.index', compact('laporan', 'apresiasi'));
- }
-
- public function adminShow(Request $request, $id){
- $laporan = Pelaporan::with('tindakan','user')->get();
- $apresiasi = Apresiasi::find($id);
- return view('admin.apresiasi.show', compact( 'apresiasi','laporan'));
- }
-
- public function adminDestroy($id)
- {
- $apresiasi = Apresiasi::find($id);
- $apresiasi->delete();
-
- return redirect()->route('apresiasi.adminIndex')->with('success', 'Pelaporan Apresiasi berhasil dihapus.');
- }
-
-
-
- }
|