59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\RefundUser;
|
|
|
|
class RefundController extends Controller
|
|
{
|
|
public function create(Request $request)
|
|
{
|
|
$request->validate([
|
|
'reason_complaint' => 'required|string',
|
|
'transfer_proof' => 'required|image',
|
|
]);
|
|
|
|
// Ambil data tambahan dari database berdasarkan order_id atau informasi lain
|
|
$order = Order::where('order_id', $request->input('order_id'))->first();
|
|
|
|
// Buat objek RefundUser
|
|
$refund = new RefundUser();
|
|
$refund->order_id = $order->order_id; // Ambil data dari order
|
|
$refund->customer = $order->customer;
|
|
$refund->seller = $order->seller;
|
|
$refund->total = $order->total;
|
|
$refund->dueDate = $order->dueDate;
|
|
$refund->status = $order->status;
|
|
$refund->reason_complaint = $request->input('reason_complaint');
|
|
|
|
if ($request->hasFile('transfer_proof')) {
|
|
$image = $request->file('transfer_proof');
|
|
$imageName = time() . '.' . $image->getClientOriginalExtension();
|
|
$image->move(public_path('uploads'), $imageName);
|
|
$refund->transfer_proof = $imageName;
|
|
}
|
|
|
|
// Simpan data ke dalam database
|
|
$refund->save();
|
|
|
|
return redirect('/refund')->with('success', 'Pengembalian Berhasil Diajukan');
|
|
}
|
|
|
|
// detail pengajuan berdasarkan id
|
|
public function show($id)
|
|
{
|
|
$refund = Refund::findOrFail($id);
|
|
return view('refund.show', ['refund' => $refund]);
|
|
}
|
|
|
|
// menghapus pengajuan refund berdasarkan id
|
|
public function destroy($id) // Perbaikan pada penulisan "destroy"
|
|
{
|
|
$refund = Refund::findOrFail($id);
|
|
$refund->delete();
|
|
|
|
return redirect('/refund')->with('success', 'Pengembalian Berhasil Dihapus');
|
|
}
|
|
}
|