crud payment type be

This commit is contained in:
alealien666 2025-02-10 19:56:22 +07:00
parent 156b448443
commit ea33a749f5
4 changed files with 63 additions and 9 deletions

View File

@ -24,16 +24,49 @@ public function index()
public function store(Request $request)
{
//
$request->validate([
'payment_type' => 'required|string'
], [
'payment_type.required' => 'wajib mengisi payment type'
]);
try {
PaymentType::create([
'payment_type' => $request->payment_type
]);
return redirect()->back()->with('success', 'berhasil insert data');
} catch (\Throwable $th) {
return redirect()->back()->with('error', 'Data gagal di tambahkan' . $th->getMessage());
}
}
public function update(Request $request, PaymentType $paymentType)
public function update(Request $request, PaymentType $paymentType, $id)
{
//
$request->validate([
'payment_type' => 'required|string'
], [
'payment_type.required' => 'wajib mengisi payment type'
]);
try {
$paymentType = PaymentType::findOrFail($id);
$paymentType->payment_type = $request->payment_type;
$paymentType->update();
return redirect()->back()->with('success', 'Berhasil Update Data');
} catch (\Throwable $th) {
return redirect()->back()->with('error', 'Gagal Mengupdate Data');
}
}
public function destroy(PaymentType $paymentType)
public function destroy(PaymentType $paymentType, $id)
{
//
$paymentType = PaymentType::findOrFail($id);
$paymentType->delete();
return redirect()->back()->with('success', 'Berhasil Menghapus Data');
}
}

View File

@ -5,8 +5,12 @@ import DeleteButton from '@/Components/DeleteButton'
export default function PaymentType({ tableName, paymentType, fields }) {
const [selectedPaymentType, setSelectedPaymentType] = useState(null)
const [isDeleteOpen, setDeleteOpen] = useState(false)
const deleteModal = (item) => {
setSelectedPaymentType(item)
setDeleteOpen(true)
}
return (
<div>
@ -20,9 +24,23 @@ export default function PaymentType({ tableName, paymentType, fields }) {
return (
<div key={i}>
<p>Payment type: {item.payment_type}</p>
<div className='mt-2'>
<button className='btn btn-primary btn-sm' onClick={() => {
setSelectedPaymentType(item)
document.getElementById('modal_input').checked = true
}}>
Edit
</button>
<button className='btn btn-error btn-sm text-white ml-2' onClick={() => {
deleteModal(item)
}}>Hapus</button>
</div>
</div>
)
}) : ""}
<DeleteButton isOpen={isDeleteOpen} onClose={() => setDeleteOpen(false)} item={selectedPaymentType} tableName="payment_types" />
</div>
)
}

View File

@ -40,8 +40,8 @@ export default function IndexSantri({ santri, fields, options }) {
<p>Foto: {item.foto}</p>
<div className="mt-2">
<button className="btn btn-warning btn-sm" onClick={() => {
setSelectedSantri(item);
document.getElementById('modal_input').checked = true;
setSelectedSantri(item)
document.getElementById('modal_input').checked = true
}}>
Edit
</button>
@ -57,5 +57,5 @@ export default function IndexSantri({ santri, fields, options }) {
tableName="santris"
/>
</div>
);
)
}

View File

@ -34,6 +34,9 @@
// payment type
Route::get('/data-payment-type', [PaymentTypeController::class, 'index'])->name('indexPaymentType');
Route::post('addpayment_types', [PaymentTypeController::class, 'store'])->name('storePaymentType');
Route::post('/updatepayment_types/{id}', [PaymentTypeController::class, 'update'])->name('updatePaymentType');
Route::post('/deletepayment_types/{id}', [PaymentTypeController::class, 'destroy'])->name('deletePaymentType');
Route::get('/dashboard', function () {
return Inertia::render('Dashboard');