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