dashboard-admin/app/Http/Controllers/RefundController.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');
}
}