diff --git a/app/Http/Controllers/PaymentTypeController.php b/app/Http/Controllers/PaymentTypeController.php index 3415ab4..b641edd 100644 --- a/app/Http/Controllers/PaymentTypeController.php +++ b/app/Http/Controllers/PaymentTypeController.php @@ -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'); } } diff --git a/resources/js/Pages/list-admin/payment/PaymentType.jsx b/resources/js/Pages/list-admin/payment/PaymentType.jsx index 72976ae..4b884c8 100644 --- a/resources/js/Pages/list-admin/payment/PaymentType.jsx +++ b/resources/js/Pages/list-admin/payment/PaymentType.jsx @@ -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 (
@@ -20,9 +24,23 @@ export default function PaymentType({ tableName, paymentType, fields }) { return (

Payment type: {item.payment_type}

+
+ + + +
) }) : ""} + + setDeleteOpen(false)} item={selectedPaymentType} tableName="payment_types" />
) } \ No newline at end of file diff --git a/resources/js/Pages/list-admin/santri/IndexSantri.jsx b/resources/js/Pages/list-admin/santri/IndexSantri.jsx index 8eeae91..9d1d31a 100644 --- a/resources/js/Pages/list-admin/santri/IndexSantri.jsx +++ b/resources/js/Pages/list-admin/santri/IndexSantri.jsx @@ -40,8 +40,8 @@ export default function IndexSantri({ santri, fields, options }) {

Foto: {item.foto}

@@ -57,5 +57,5 @@ export default function IndexSantri({ santri, fields, options }) { tableName="santris" />
- ); + ) } \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index e1d3c27..35febfd 100644 --- a/routes/web.php +++ b/routes/web.php @@ -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');