<?php
namespace App\Http\Controllers;
use App\Models\PesanAction;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\Rule;
class PesanActionController extends Controller
{
public function index()
{
$datas = PesanAction::paginate(17);
$data = [
"datas" => $datas,
];
return view('pesan_action.index', $data);
}
public function create()
{
return view('pesan_action.create');
}
public function store(Request $request)
{
DB::beginTransaction();
try {
$request->validate(
[
'isi_pesan' => 'required',
'status' => 'required|unique:pesan_actions',
'nota' => 'required',
]
);
PesanAction::create([
'isi_pesan' => $request->isi_pesan,
'status' => $request->status,
'nota' => $request->nota,
]);
DB::commit();
return redirect()->route('pesan_action.index')->with('success', "Pesan Berhasil ditambah");
} catch (\Throwable $th) {
DB::rollback();
return redirect()->route('pesan_action.create')->with('error', $th->getMessage());
}
}
public function edit(String $id)
{
$data = PesanAction::find($id);
$datas =
[
'data' => $data
];
return view('pesan_action.edit', $datas);
}
public function update(String $id, Request $request)
{
DB::beginTransaction();
try {
$request->validate(
[
'isi_pesan' => 'required',
'status' => [
'required',
Rule::unique('pesan_actions')->ignore($id),
],
'nota' => 'required',
]
);
$data = PesanAction::find($id);
$data->update([
'isi_pesan' => $request->isi_pesan,
'status' => $request->status,
'nota' => $request->nota,
]);
DB::commit();
return redirect()->route('pesan_action.index')->with('success', "Pesan Berhasil ditambah");
} catch (\Throwable $th) {
DB::rollback();
return redirect()->back()->with('error', $th->getMessage());
}
}
public function destroy(string $id)
{
DB::beginTransaction();
try {
$pesan = PesanAction::find($id);
$pesan->delete();
DB::commit();
return redirect()->route('pesan_action.index')->with('success', 'Pesan berhasil Dihapus');
} catch (\Throwable $th) {
DB::rollback();
return redirect()->route('pesan_action.index')->with('error', "Role gagal dihapus");
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]