From 824c7275925e39e70295d8ae803bc5f5277ec2af Mon Sep 17 00:00:00 2001 From: rahmagustin Date: Fri, 13 Mar 2026 05:37:44 +0700 Subject: [PATCH] foto tampilan user --- .../Controllers/Admin/AduanController.php | 18 +++++--- app/Http/Controllers/AduanController.php | 9 +--- resources/views/admin/aduan/edit.blade.php | 12 ++++-- resources/views/admin/aduan/index.blade.php | 41 ++++++++++++++++--- resources/views/admin/tps/index.blade.php | 3 -- resources/views/user/about-tps.blade.php | 2 +- resources/views/user/aduan-tps.blade.php | 2 +- resources/views/user/detail-tps.blade.php | 2 +- resources/views/user/index.blade.php | 10 +++-- 9 files changed, 69 insertions(+), 30 deletions(-) diff --git a/app/Http/Controllers/Admin/AduanController.php b/app/Http/Controllers/Admin/AduanController.php index daeecc6..8063f4e 100644 --- a/app/Http/Controllers/Admin/AduanController.php +++ b/app/Http/Controllers/Admin/AduanController.php @@ -5,6 +5,7 @@ use App\Http\Controllers\Controller; use App\Models\AduanTps; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Storage; class AduanController extends Controller { @@ -27,12 +28,18 @@ public function index(Request $request) return view('admin.aduan.index', compact('aduan')); } + /** + * Detail aduan + */ public function show($id) { $aduan = AduanTps::findOrFail($id); return view('admin.aduan.edit', compact('aduan')); } + /** + * Simpan tanggapan admin + */ public function tanggapi(Request $request, $id) { $request->validate([ @@ -44,6 +51,7 @@ public function tanggapi(Request $request, $id) ]); $aduan = AduanTps::findOrFail($id); + $aduan->tanggapan_admin = $request->tanggapan_admin; $aduan->tanggal_tanggapan = now(); $aduan->save(); @@ -53,18 +61,18 @@ public function tanggapi(Request $request, $id) } /** - * Hapus tanggapan admin + * Hapus aduan */ public function destroy($id) { $aduan = AduanTps::findOrFail($id); - // Hapus file bukti foto jika ada - if ($aduan->bukti_foto && file_exists(public_path('assets/user/img/aduan/' . $aduan->bukti_foto))) { - unlink(public_path('assets/user/img/aduan/' . $aduan->bukti_foto)); + // Hapus foto bukti dari storage + if ($aduan->bukti_foto && Storage::disk('public')->exists($aduan->bukti_foto)) { + Storage::disk('public')->delete($aduan->bukti_foto); } - // Hapus data aduan dari database + // Hapus data dari database $aduan->delete(); return redirect()->route('admin.aduan.index') diff --git a/app/Http/Controllers/AduanController.php b/app/Http/Controllers/AduanController.php index 3620761..79df2e6 100644 --- a/app/Http/Controllers/AduanController.php +++ b/app/Http/Controllers/AduanController.php @@ -62,17 +62,12 @@ public function store(Request $request) 'bukti_foto.max' => 'Ukuran gambar maksimal 2 MB', ]); - // Upload foto bukti ke folder publik langsung $fotoPath = null; + if ($request->hasFile('bukti_foto')) { - $file = $request->file('bukti_foto'); - $filename = strtolower(str_replace(' ', '_', pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME))) - . '_' . time() . '.' . $file->getClientOriginalExtension(); - $file->move(public_path('assets/user/img/aduan'), $filename); - $fotoPath = $filename; + $fotoPath = $request->file('bukti_foto')->store('aduan', 'public'); } - // Simpan ke database AduanTps::create([ 'lokasi_tps_id' => $request->lokasi_tps_id, 'nama_pelapor' => $request->nama_pelapor, diff --git a/resources/views/admin/aduan/edit.blade.php b/resources/views/admin/aduan/edit.blade.php index 09eb628..b9ad6c2 100644 --- a/resources/views/admin/aduan/edit.blade.php +++ b/resources/views/admin/aduan/edit.blade.php @@ -23,6 +23,7 @@ class="forms-sample"> + {{ $aduan->lokasiTps->alamat_tps ?? '' }} @@ -50,27 +51,32 @@ class="forms-sample"> @if ($aduan->bukti_foto)

- Bukti Aduan + + Bukti Aduan +
@endif {{-- Tanggapan Admin --}}
+ + @error('tanggapan_admin') {{ $message }} @enderror -
+ {{-- Tombol --}} + Kembali diff --git a/resources/views/admin/aduan/index.blade.php b/resources/views/admin/aduan/index.blade.php index 153d2ad..f0b94c2 100644 --- a/resources/views/admin/aduan/index.blade.php +++ b/resources/views/admin/aduan/index.blade.php @@ -11,19 +11,20 @@
+

Data Aduan TPS

Daftar aduan masyarakat terhadap TPS

-
- +
+
+ style="width:300px;margin-right:20px;"> + class="form-control" placeholder="Cari nama TPS...">
@@ -41,9 +42,12 @@ class="form-control" placeholder="Cari Aduan..."> Aksi + + @forelse ($aduan as $item) + {{ $item->lokasiTps->nama_tps ?? '-' }} @@ -53,10 +57,15 @@ class="form-control" placeholder="Cari Aduan..."> {{ $item->lokasiTps->alamat_tps ?? '' }} - {{ $item->nama_pelapor }} + + + {{ $item->nama_pelapor }} + + {{ \Carbon\Carbon::parse($item->tanggal_aduan)->format('d M Y') }} + @if ($item->tanggapan_admin) Ditanggapi @@ -64,7 +73,9 @@ class="form-control" placeholder="Cari Aduan..."> Belum @endif + + @@ -74,23 +85,31 @@ class="btn btn-warning btn-sm" title="Tanggapi Aduan"> method="POST" class="d-inline form-hapus"> @csrf @method('DELETE') + + + + + @empty + - + Data aduan belum tersedia @endforelse +
+
{{ $aduan->appends(request()->query())->links() }} @@ -102,10 +121,13 @@ class="btn btn-warning btn-sm" title="Tanggapi Aduan">
+ {{-- SweetAlert Hapus --}} + {{-- SweetAlert Success --}} @if (session('success')) @endif + @endsection diff --git a/resources/views/admin/tps/index.blade.php b/resources/views/admin/tps/index.blade.php index b4e3d51..1e3426c 100644 --- a/resources/views/admin/tps/index.blade.php +++ b/resources/views/admin/tps/index.blade.php @@ -10,7 +10,6 @@
- ```
@@ -123,8 +122,6 @@ class="btn btn-warning btn-sm me-1">
- ``` -