60 lines
1.9 KiB
PHP
Executable File
60 lines
1.9 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\BookingFoto;
|
|
use App\Models\TransaksiBuket;
|
|
use Illuminate\Http\Request;
|
|
|
|
class HistoriPesananController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$riwayatBuket = TransaksiBuket::whereIn('status_transaksi', ['selesai', 'ditolak'])
|
|
->latest()->get();
|
|
|
|
$riwayatFoto = BookingFoto::whereIn('status_booking', ['selesai', 'ditolak'])
|
|
->latest()->get();
|
|
|
|
return view('admin.pesanan.riwayat', compact('riwayatBuket', 'riwayatFoto'));
|
|
}
|
|
public function updateStatus(Request $request, $id)
|
|
{
|
|
// Cek Kategori: Apakah ini Buket atau Foto?
|
|
$kategori = $request->kategori; // 'buket' atau 'foto'
|
|
|
|
$transaksi = null;
|
|
$noInvoice = "";
|
|
|
|
// LOGIKA PEMILIHAN TABEL
|
|
if ($kategori == 'buket') {
|
|
// --- CASE BUKET ---
|
|
$transaksi = \App\Models\TransaksiBuket::findOrFail($id);
|
|
|
|
if ($request->jenis == 'selesai') {
|
|
$transaksi->status_transaksi = 'selesai'; // Nama kolom: status_transaksi
|
|
$noInvoice = $transaksi->no_invoice;
|
|
}
|
|
} elseif ($kategori == 'foto') {
|
|
// --- CASE FOTO ---
|
|
$transaksi = \App\Models\BookingFoto::findOrFail($id);
|
|
|
|
if ($request->jenis == 'selesai') {
|
|
$transaksi->status_booking = 'selesai'; // Nama kolom: status_booking
|
|
$noInvoice = $transaksi->no_invoice;
|
|
}
|
|
}
|
|
|
|
// SIMPAN PERUBAHAN
|
|
if ($transaksi) {
|
|
$transaksi->save();
|
|
session()->flash('success', "Pesanan {$noInvoice} berhasil diselesaikan!");
|
|
|
|
return response()->json(['success' => true]);
|
|
}
|
|
|
|
return response()->json(['success' => false, 'message' => 'Data tidak ditemukan'], 404);
|
|
}
|
|
}
|