Files

90 lines
2.4 KiB
PHP
Raw Permalink Normal View History

<?php
namespace App\Http\Controllers\Master;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Rayon;
2025-01-01 17:14:46 +07:00
use App\Helpers\AuditTrailHelper;
2025-01-19 15:48:50 +07:00
use App\Models\Cabang;
class RayonController extends Controller
{
public function index()
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.view']);
2024-12-26 18:37:34 +07:00
session()->put('redirect_url', route('admin.rayon.index'));
return view('backend.pages.master.rayon.index', [
2025-01-19 15:48:50 +07:00
'rayons' => Rayon::with('cabang')->get()
]);
}
public function create()
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.create']);
2025-01-19 15:48:50 +07:00
return view('backend.pages.master.rayon.create', [
'cabangs' => Cabang::all()
]);
}
public function store(Request $request)
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.create']);
$request->validate([
'code' => 'required|unique:rayon,code',
2025-01-19 15:48:50 +07:00
'name' => 'required|unique:rayon,name',
'cabang_id' => 'required|exists:cabang,id'
]);
Rayon::create([
'code' => $request->code,
2025-01-19 15:48:50 +07:00
'name' => $request->name,
'cabang_id' => $request->cabang_id
]);
2025-01-01 17:14:46 +07:00
AuditTrailHelper::AddAuditTrail('Insert', 'Insert New Record at Rayon Table (' . $request->name . ')');
session()->flash('success', 'Rayon has been created.');
2024-12-26 18:37:34 +07:00
return redirect()->back();
}
public function edit($id)
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.edit']);
return view('backend.pages.master.rayon.edit', [
2025-01-19 15:48:50 +07:00
'rayon' => Rayon::findOrfail($id),
'cabangs' => Cabang::all()
]);
}
public function update(Request $request, $id)
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.edit']);
$request->validate([
'code' => 'required|unique:rayon,code,' . $id . ',id',
2025-01-19 15:48:50 +07:00
'name' => 'required|unique:rayon,name,' . $id . ',id',
'cabang_id' => 'required|exists:cabang,id'
]);
Rayon::findOrfail($id)->update([
'code' => $request->code,
2025-01-19 15:48:50 +07:00
'name' => $request->name,
'cabang_id' => $request->cabang_id
]);
2025-01-01 17:14:46 +07:00
AuditTrailHelper::AddAuditTrail('Update', 'Update New Record at Rayon Table (' . $request->name . ')');
session()->flash('success', 'Rayon has been updated.');
2024-12-26 18:37:34 +07:00
return redirect()->back();
}
public function destroy($id)
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.delete']);
2025-01-01 17:14:46 +07:00
$rayon = Rayon::findOrfail($id);
AuditTrailHelper::AddAuditTrail('Delete', 'Delete Record at Rayon Table (' . $rayon->name . ')');
2025-01-01 17:14:46 +07:00
$rayon->delete();
session()->flash('success', 'Rayon has been deleted.');
2024-12-26 18:37:34 +07:00
return redirect()->back();
}
}