middleware('auth'); $this->middleware(\App\Http\Middleware\CheckRole::class . ':admin'); } public function index() { $transaksi = Transaksi::with(['user', 'pesanan'])->latest()->get(); return view('admin.transaksi.index', compact('transaksi')); } public function show(Transaksi $transaksi) { $transaksi->load(['user', 'pesanan']); return view('admin.transaksi.show', compact('transaksi')); } public function updateStatus(Request $request, Transaksi $transaksi) { $request->validate([ 'status' => 'required|in:pending,paid,completed,cancelled', ]); $transaksi->update([ 'status' => $request->status, ]); // Jika transaksi selesai, update status pesanan juga if ($request->status === 'completed') { $transaksi->pesanan->update([ 'status' => 'completed', ]); } // Jika transaksi dibatalkan, update status pesanan juga if ($request->status === 'cancelled') { $transaksi->pesanan->update([ 'status' => 'cancelled', ]); } return redirect()->route('admin.transaksi.show', $transaksi) ->with('success', 'Status transaksi berhasil diperbarui'); } }